the dog ate my deployment - php uncoference september 2013
TRANSCRIPT
![Page 1: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/1.jpg)
![Page 2: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/2.jpg)
The Last Mile Problem
![Page 3: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/3.jpg)
![Page 4: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/4.jpg)
![Page 5: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/5.jpg)
![Page 6: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/6.jpg)
Development
Live
![Page 7: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/7.jpg)
The DogAte My Deployment
![Page 8: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/8.jpg)
Rule 1:Implement deployment at the beginning of your project
![Page 9: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/9.jpg)
+https://puphpet.com/
![Page 10: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/10.jpg)
Every configuration has to be done by Puppet
![Page 11: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/11.jpg)
Developers and Operations share the same configuration
![Page 12: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/12.jpg)
Rule 2:Automate everything
![Page 13: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/13.jpg)
![Page 14: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/14.jpg)
![Page 15: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/15.jpg)
Create TargetsFor Everything
![Page 16: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/16.jpg)
Structure YourAnt Files
![Page 17: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/17.jpg)
Use A Framework For Thishttp://abc.tools.qafoo.com/
![Page 18: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/18.jpg)
<project> <property file="default.properties"/> <import> <fileset dir="${basedir}/extensions"> <include name="*.xml"/> </fileset> </import> <extension-point name="build-cleanup" /> <extension-point name="build-prepare" /> <target name="build:ci" depends=" test:run, package:create" /></project>
![Page 19: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/19.jpg)
$ ant quality:report
![Page 20: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/20.jpg)
Rule 3:Test the quality of your project
![Page 21: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/21.jpg)
![Page 22: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/22.jpg)
Jenkins PHP Templatehttp://jenkins-php.org/
![Page 23: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/23.jpg)
PHP QA Tools
![Page 24: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/24.jpg)
Too many violations should break your builds
![Page 25: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/25.jpg)
Rule 4:Create deployable artifacts
![Page 26: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/26.jpg)
Build them so that they only need configuration to
run
![Page 27: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/27.jpg)
Create them once, reuse them in all deployments
![Page 28: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/28.jpg)
Copy ArtifactsBuild PromotionAmazon S3
![Page 29: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/29.jpg)
ContinousIntegration
Testing Staging Live
![Page 30: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/30.jpg)
Rule 5:Run your deployment with only one invocation
![Page 31: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/31.jpg)
![Page 32: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/32.jpg)
Choose YourDeployment Tool
![Page 33: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/33.jpg)
Choose ItWith Your Operations
Team
![Page 34: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/34.jpg)
Shell Scripts
![Page 35: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/35.jpg)
![Page 36: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/36.jpg)
Choose A ToolThat Helps You
![Page 37: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/37.jpg)
Fabric
![Page 38: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/38.jpg)
def deploy(docroot): put('release.tar.gz', 'release_dir') run('tar xzf release.tar.gz')
with cd(release_dir): run('ant symfony:cache-clear') sudo('service nginx restart')
![Page 39: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/39.jpg)
Keep Your DeploymentConfiguration With Your
Code
![Page 40: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/40.jpg)
$ fab deploy:/var/www –H host1,host2,host3
![Page 41: The Dog Ate My Deployment - PHP Uncoference September 2013](https://reader036.vdocuments.net/reader036/viewer/2022062418/5562eb58d8b42ab47d8b4fe1/html5/thumbnails/41.jpg)