The Dog Ate My Deployment - PHP Uncoference September 2013
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

The Dog Ate My Deployment - PHP Uncoference September 2013

  • 1,179 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,179
On Slideshare
1,172
From Embeds
7
Number of Embeds
1

Actions

Shares
Downloads
1
Comments
0
Likes
1

Embeds 7

https://twitter.com 7

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. The Last Mile Problem
  • 2. Development Live
  • 3. The Dog Ate My Deployment
  • 4. Rule 1: Implement deployment at the beginning of your project
  • 5. + https://puphpet.com/
  • 6. Every configuration has to be done by Puppet
  • 7. Developers and Operations share the same configuration
  • 8. Rule 2: Automate everything
  • 9. Create Targets For Everything
  • 10. Structure Your Ant Files
  • 11. Use A Framework For This http://abc.tools.qafoo.com/
  • 12. <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>
  • 13. $ ant quality:report
  • 14. Rule 3: Test the quality of your project
  • 15. Jenkins PHP Template http://jenkins-php.org/
  • 16. PHP QA Tools
  • 17. Too many violations should break your builds
  • 18. Rule 4: Create deployable artifacts
  • 19. Build them so that they only need configuration to run
  • 20. Create them once, reuse them in all deployments
  • 21. Copy Artifacts Build Promotion Amazon S3
  • 22. Continous Integration Testing Staging Live
  • 23. Rule 5: Run your deployment with only one invocation
  • 24. Choose Your Deployment Tool
  • 25. Choose It With Your Operations Team
  • 26. Shell Scripts
  • 27. Choose A Tool That Helps You
  • 28. Fabric
  • 29. 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')
  • 30. Keep Your Deployment Configuration With Your Code
  • 31. $ fab deploy:/var/www –H host1,host2,host3