0
The Last Mile
Problem
Development Live
The Dog
Ate My Deployment
Rule 1:
Implement deployment at the
beginning of your project
+
https://puphpet.com/
Every configuration has to be
done by Puppet
Developers and Operations
share the same configuration
Rule 2:
Automate everything
Create Targets
For Everything
Structure Your
Ant Files
Use A Framework For This
http://abc.tools.qafoo.com/
$ ant build
Rule 3:
Test the quality of your
project
Jenkins PHP Template
http://jenkins-php.org/
PHP QA Tools
Too many violations should
break your builds
Test performance factors
of your application
$this->assertLessThan(
10,
$profile->getCollector('db')
->getQueryCount()
);
Rule 4:
Create deployable artifacts
Build them so that they only
need configuration to run
Create them once reuse
them in all deployments
Continous
Integration
Testing Staging Live
Rule 5:
Run your deployment with
only one invocation
Choose Your
Deployment Tool
Choose It
With Your Operations Team
Shell Scripts
Choose A Tool
That Helps You
Fabric
Capistrano
Rex
group myserver => "server-a", "server-b";
task "deploy", group => "frontend", sub {
deploy $tarball;
needs "configure";
ne...
Keep Your Deployment
Configuration With Your Code
$ rex deploy –-tarball=version1.0.1.tar.gz
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
Nächste SlideShare
Wird geladen in ...5
×

The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013

380

Published on

Published in: Technologie
0 Kommentare
0 Gefällt mir
Statistiken
Notizen
  • Hinterlassen Sie den ersten Kommentar

  • Be the first to like this

Keine Downloads
Views
Gesamtviews
380
Bei Slideshare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
0
Einbettungen 0
No embeds

No notes for slide

Transcript of "The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013"

  1. 1. The Last Mile Problem
  2. 2. Development Live
  3. 3. The Dog Ate My Deployment
  4. 4. Rule 1: Implement deployment at the beginning of your project
  5. 5. + https://puphpet.com/
  6. 6. Every configuration has to be done by Puppet
  7. 7. Developers and Operations share the same configuration
  8. 8. Rule 2: Automate everything
  9. 9. Create Targets For Everything
  10. 10. Structure Your Ant Files
  11. 11. Use A Framework For This http://abc.tools.qafoo.com/
  12. 12. $ ant build
  13. 13. Rule 3: Test the quality of your project
  14. 14. Jenkins PHP Template http://jenkins-php.org/
  15. 15. PHP QA Tools
  16. 16. Too many violations should break your builds
  17. 17. Test performance factors of your application
  18. 18. $this->assertLessThan( 10, $profile->getCollector('db') ->getQueryCount() );
  19. 19. Rule 4: Create deployable artifacts
  20. 20. Build them so that they only need configuration to run
  21. 21. Create them once reuse them in all deployments
  22. 22. Continous Integration Testing Staging Live
  23. 23. Rule 5: Run your deployment with only one invocation
  24. 24. Choose Your Deployment Tool
  25. 25. Choose It With Your Operations Team
  26. 26. Shell Scripts
  27. 27. Choose A Tool That Helps You
  28. 28. Fabric
  29. 29. Capistrano
  30. 30. Rex
  31. 31. group myserver => "server-a", "server-b"; task "deploy", group => "frontend", sub { deploy $tarball; needs "configure"; needs "test"; };
  32. 32. Keep Your Deployment Configuration With Your Code
  33. 33. $ rex deploy –-tarball=version1.0.1.tar.gz
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×