Continuous Integration                      for the worldTuesday 6 September 2011
Agile Code                                     &                           Agile InfrastructureTuesday 6 September 2011
Caveat:Your brain might hurt after this sessionTuesday 6 September 2011
Patrick Debois                   •       Belgium                   •       @patrickdebois                   •       http:/...
Julian Simpson                   •       New Zealand/UK                   •       @builddoctor                   •       h...
Tuesday 6 September 2011
Continuous integration with Jenkins - JavaWorldTuesday 6 September 2011
Infrastructure as codeTuesday 6 September 2011
application     ruby,java,...                           configuration mgt   puppet,chef,...                           opera...
Just Enough                           Operating SystemTuesday 6 September 2011
Veewee demo                http://www.youtube.com/watch?v=gR28-aHX_nU                           https://github.com/jedi4ev...
**! What just happened?Tuesday 6 September 2011
Build                     Package                                              Test    SOURCE                          BIN...
Version ControlTuesday 6 September 2011
Archiving ArtefactsTuesday 6 September 2011
Tuesday 6 September 2011
Vagrant demo                http://www.youtube.com/watch?v=O_FiL1yb6_s                            http://vagrantup.com/Tue...
It works on my machine                       syndromeTuesday 6 September 2011
Configuration Mgmt    http://www.opscode.com/         http://www.puppetlabs.com/Tuesday 6 September 2011
No more ‘Bob’                            DirectoryTuesday 6 September 2011
IdempotentTuesday 6 September 2011
https://github.com/opscode/cookbooksTuesday 6 September 2011
Recipe (simple APP = 1 web page)                           1 include_recipe "apache2"                           2         ...
$ cat chefrepo/site-cookbooks/onepage/templates/default/                           index_page.erb                         ...
51           config.vm.provision :chef_solo do |chef| 52           chef.cookbooks_path = [                    "chefrepo/coo...
Chef Demo              http://www.youtube.com/watch?v=XRvhXLOKerQTuesday 6 September 2011
Code smells                           Server smellsTuesday 6 September 2011
SSH Login                           considered harmfulTuesday 6 September 2011
IDE’s                           https://github.com/cloudsmith/gepetto                                   http://reactor8.co...
Disposable                           InfrastructureTuesday 6 September 2011
Re-build vs PatchingTuesday 6 September 2011
Cucumber Nagios                                 Demo                   http://www.youtube.com/watch?v=b5RwnuIEaJI         ...
Feature: Demonstration      In order to demonstrate cucumber nagios      As a presenter at Agile 2011      I want to test ...
**! What just happened?Tuesday 6 September 2011
Build                     Package                                              Test    SOURCE                          BIN...
A shared language                     helps in understanding                           each otherTuesday 6 September 2011
Pairing                           admins + devsTuesday 6 September 2011
Mccloud demo                   http://www.youtube.com/watch?v=2ixTk4Uj23c                           https://github.com/jed...
**! What just happened?Tuesday 6 September 2011
Re-Use                        Tools/Code                    Across EnvinronmentsTuesday 6 September 2011
Decrease                           Setup-Time                           Cycle-TimeTuesday 6 September 2011
external   *.jar                                                                             repo                         ...
rundesk                  pie                                                                     Just Enough   deployinato...
Production begins                            in DevelopmentTuesday 6 September 2011
Thank you!Tuesday 6 September 2011
Upcoming SlideShare
Loading in …5
×

CI for the world - Agile 2011

13,006 views

Published on

Published in: Technology, News & Politics
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,006
On SlideShare
0
From Embeds
0
Number of Embeds
9,845
Actions
Shares
0
Downloads
35
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

CI for the world - Agile 2011

  1. 1. Continuous Integration for the worldTuesday 6 September 2011
  2. 2. Agile Code & Agile InfrastructureTuesday 6 September 2011
  3. 3. Caveat:Your brain might hurt after this sessionTuesday 6 September 2011
  4. 4. Patrick Debois • Belgium • @patrickdebois • http://jedi.be/blog & http://cutter.com • Organizer of devopsdaysTuesday 6 September 2011
  5. 5. Julian Simpson • New Zealand/UK • @builddoctor • http://www.build-doctor.com/Tuesday 6 September 2011
  6. 6. Tuesday 6 September 2011
  7. 7. Continuous integration with Jenkins - JavaWorldTuesday 6 September 2011
  8. 8. Infrastructure as codeTuesday 6 September 2011
  9. 9. application ruby,java,... configuration mgt puppet,chef,... operating system linux, windows,.. (virtual)server xen,vmware,... fabric lb,storage,firewallTuesday 6 September 2011
  10. 10. Just Enough Operating SystemTuesday 6 September 2011
  11. 11. Veewee demo http://www.youtube.com/watch?v=gR28-aHX_nU https://github.com/jedi4ever/veeweeTuesday 6 September 2011
  12. 12. **! What just happened?Tuesday 6 September 2011
  13. 13. Build Package Test SOURCE BINARY BINARY Chef/PuppetDefinition.rb RubyPostinstall.sh JEOS Lucid64.box Preseed.cfg Virtual Ubuntu.iso MachineTuesday 6 September 2011
  14. 14. Version ControlTuesday 6 September 2011
  15. 15. Archiving ArtefactsTuesday 6 September 2011
  16. 16. Tuesday 6 September 2011
  17. 17. Vagrant demo http://www.youtube.com/watch?v=O_FiL1yb6_s http://vagrantup.com/Tuesday 6 September 2011
  18. 18. It works on my machine syndromeTuesday 6 September 2011
  19. 19. Configuration Mgmt http://www.opscode.com/ http://www.puppetlabs.com/Tuesday 6 September 2011
  20. 20. No more ‘Bob’ DirectoryTuesday 6 September 2011
  21. 21. IdempotentTuesday 6 September 2011
  22. 22. https://github.com/opscode/cookbooksTuesday 6 September 2011
  23. 23. Recipe (simple APP = 1 web page) 1 include_recipe "apache2" 2 3 template "/var/www/index.html" do 4 owner "www-data" 5 group "www-data" 6 source "index_page.erb" 7 mode 0644 8 endTuesday 6 September 2011
  24. 24. $ cat chefrepo/site-cookbooks/onepage/templates/default/ index_page.erb I am <%= node[:onepage][:name] %>Tuesday 6 September 2011
  25. 25. 51 config.vm.provision :chef_solo do |chef| 52 chef.cookbooks_path = [ "chefrepo/cookbooks", "chefrepo/site-cookbooks"] 53 chef.add_recipe "apache2" 54 chef.add_recipe "onepage" 55 chef.json.merge!( {:onepage => { :name => "masterof my app."} }) 56 endTuesday 6 September 2011
  26. 26. Chef Demo http://www.youtube.com/watch?v=XRvhXLOKerQTuesday 6 September 2011
  27. 27. Code smells Server smellsTuesday 6 September 2011
  28. 28. SSH Login considered harmfulTuesday 6 September 2011
  29. 29. IDE’s https://github.com/cloudsmith/gepetto http://reactor8.com/Tuesday 6 September 2011
  30. 30. Disposable InfrastructureTuesday 6 September 2011
  31. 31. Re-build vs PatchingTuesday 6 September 2011
  32. 32. Cucumber Nagios Demo http://www.youtube.com/watch?v=b5RwnuIEaJI http://auxesis.github.com/cucumber-nagios/Tuesday 6 September 2011
  33. 33. Feature: Demonstration In order to demonstrate cucumber nagios As a presenter at Agile 2011 I want to test some text on a page Scenario: Find some text on a page   When I go to "http://192.168.0.1:4567/" Then I should see "^I am .+"Tuesday 6 September 2011
  34. 34. **! What just happened?Tuesday 6 September 2011
  35. 35. Build Package Test SOURCE BINARY BINARY APP APP CODE Chef/Puppet Lucid64.box Ruby Cookbook JEOS Vagrantfile Virtual MachineTuesday 6 September 2011
  36. 36. A shared language helps in understanding each otherTuesday 6 September 2011
  37. 37. Pairing admins + devsTuesday 6 September 2011
  38. 38. Mccloud demo http://www.youtube.com/watch?v=2ixTk4Uj23c https://github.com/jedi4ever/mccloud/Tuesday 6 September 2011
  39. 39. **! What just happened?Tuesday 6 September 2011
  40. 40. Re-Use Tools/Code Across EnvinronmentsTuesday 6 September 2011
  41. 41. Decrease Setup-Time Cycle-TimeTuesday 6 September 2011
  42. 42. external *.jar repo download testsource compile compiled package library*.java *.class *.jar internal install install repo testsource compile compiled package library*.java *.class *.jar test testsource compile compiled package application deploy application*.java *.class *.war runtime jvm middleware test test source package library configuration mgt pkg,config, ... recipes cookbooksbootstrap install bootstrap config mgmt tool test source pxe installed package images test internal os provision jeospreseed base vm ami,box repo source installed images download *.jar *.rpm (virtual) init.d *.iso external *.ami server *.rpm repo *.ova source cloud orchestration (cloud) formation fabric provision infrastructureTuesday 6 September 2011
  43. 43. rundesk pie Just Enough deployinator Coordination cfengine puppet Just Enough chef Infrastructure Code Just Enough fog Operating System (ruby) amazon Cloud Public boto API’s rackspace Abstraction (python) Cloud mccloud library CLI’s vcloud jclouds ... (java) xen Compute kvm Private Storage libvirt API’s Cloud lxc Network ‘Private’Cloud CLI’s Abstraction library vsphere ... vm player Laptop vagrant fusion Cloud virtualbox ... Just Enough veewee Image BuildingTuesday 6 September 2011
  44. 44. Production begins in DevelopmentTuesday 6 September 2011
  45. 45. Thank you!Tuesday 6 September 2011

×