Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Continuous delivery with 
Jenkins and Wildfly 
Tracy Kennedy 
Solution Architect 
©2014 CloudBees, Inc. All Rights Reserve...
• Solution Architect @ CloudBees 
©2014 CloudBees, Inc. All Rights Reserved 2 
Who am I? 
Git|Docker Hub: lavaliere 
Twitt...
Who is CloudBees? 
©2014 CloudBees, Inc. All Rights Reserved 3
Who is CloudBees? 
©2014 CloudBees, Inc. All Rights Reserved 4
Who is CloudBees? 
Jenkins Operations 
Center 
©2014 CloudBees, Inc. All Rights Reserved 5
What is Continuous Delivery? 
©2014 CloudBees, Inc. All Rights Reserved 6
Target pipeline 
Source code 
On GitHub 
©2013 CloudBees, Inc. 
All Rights Reserved 
©2014 CloudBees, Inc. All Rights Rese...
©2014 CloudBees, Inc. All Rights Reserved 8 
Tools 
©2013 CloudBees, Inc. 
All Rights Reserved
©2014 CloudBees, Inc. All Rights Reserved 9 
Tools 
©2013 CloudBees, Inc. 
All Rights Reserved
©2014 CloudBees, Inc. All Rights Reserved 10 
Tools 
©2013 CloudBees, Inc. 
All Rights Reserved
©2014 CloudBees, Inc. All Rights Reserved 11 
Tools 
©2013 CloudBees, Inc. 
All Rights Reserved
Sets Base Image Sets the image 
©2014 CloudBees, Inc. All Rights Reserved 12 
Tools 
©2013 CloudBees, Inc. 
All Rights Res...
©2014 CloudBees, Inc. All Rights Reserved 13 
Tools 
©2013 CloudBees, Inc. 
All Rights Reserved
©2014 CloudBees, Inc. All Rights Reserved 14 
Tools 
©2013 CloudBees, Inc. 
All Rights Reserved
©2014 CloudBees, Inc. All Rights Reserved 15 
Tools 
©2013 CloudBees, Inc. 
All Rights Reserved
Docker Client 
©2014 CloudBees, Inc. All Rights Reserved 16 
How I did it 
Host machine 
Boot2docker VM 
Container: 
skydo...
©2014 CloudBees, Inc. All Rights Reserved 17 
How I did it
©2014 CloudBees, Inc. All Rights Reserved 18 
How I did it
©2014 CloudBees, Inc. All Rights Reserved 19 
How I did it
©2014 CloudBees, Inc. All Rights Reserved 20 
How I did it 
Plugins used: 
• Build Pipeline(OSS)
©2014 CloudBees, Inc. All Rights Reserved 21 
How I did it 
Plugins used: 
• Config File Management (OSS)
©2014 CloudBees, Inc. All Rights Reserved 22 
How I did it 
Plugins used: 
• Credentials (OSS)
©2014 CloudBees, Inc. All Rights Reserved 23 
How I did it 
Plugins used: 
• Copy Artifacts (OSS)
©2014 CloudBees, Inc. All Rights Reserved 24 
How I did it 
Plugins used: 
• Secure Copy (JEBC)
©2014 CloudBees, Inc. All Rights Reserved 25 
How I did it 
Plugins used: 
• Jenkins Git Plugin (OSS)
©2014 CloudBees, Inc. All Rights Reserved 26 
How I did it 
Plugins used: 
• Folders (JEBC)
©2014 CloudBees, Inc. All Rights Reserved 27 
How I did it 
Plugins used: 
• Validated Merge (JEBC)
©2014 CloudBees, Inc. All Rights Reserved 28 
How I did it 
Plugins used: 
• Fast Archiving (JEBC)
HA Proxy 
Jenkins 
Enterprise 
Master-1 
NAS Storage 
backup 
©2014 CloudBees, Inc. All Rights Reserved 29 
How I did it 
...
oc.cloudbees.com 
OC-master Server 
pushed to client master 
©2014 CloudBees, Inc. All Rights Reserved 30 
QA 
Engineering...
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 31
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 32
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 33
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 34
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 35
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 36
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 37
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 38
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 39
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 40
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 41
Roadbumps 
©2014 CloudBees, Inc. All Rights Reserved 42
That saying about insanity… 
©2014 CloudBees, Inc. All Rights Reserved 43
Now the show begins! 
©2014 CloudBees, Inc. All Rights Reserved 44
Detailed Architecture 
Wildfly-master 
Wildfly-1.wildfly.dev.beedemo.io:8080 
Wildfly-1.wildfly.dev.beedemo.io:9990 
©2014...
Jenkins Job pipeline 
©2014 CloudBees, Inc. All Rights Reserved 46
Jenkins Job pipeline 
©2014 CloudBees, Inc. All Rights Reserved 47
Jenkins Job pipeline 
©2014 CloudBees, Inc. All Rights Reserved 48
The build + Arquillian tests 
©2014 CloudBees, Inc. All Rights Reserved 49
Jenkins Job pipeline 
©2014 CloudBees, Inc. All Rights Reserved 50
Jenkins Job pipeline 
©2014 CloudBees, Inc. All Rights Reserved 51
Jenkins to Nexus and Nexus to 
Jenkins 
©2014 CloudBees, Inc. All Rights Reserved 52
Jenkins to Nexus and Nexus to 
Jenkins 
©2014 CloudBees, Inc. All Rights Reserved 53
But what about this use 
case? 
©2014 CloudBees, Inc. All Rights Reserved 54
Jenkins Job pipeline 
©2014 CloudBees, Inc. All Rights Reserved 55
Jenkins Job pipeline 
©2014 CloudBees, Inc. All Rights Reserved 56
Jenkins to Wildfly 
Wildfly Plugin 
©2014 CloudBees, Inc. All Rights Reserved 57
Jenkins to Wildfly 
©2014 CloudBees, Inc. All Rights Reserved 58
Future improvements 
• Templatized jobs and builders 
• Blue/green deployments to Wildfly 
• Pipeline as a workflow (OSS) ...
©2014 CloudBees, Inc. All Rights Reserved 60 
Next step 
• Demo repository: 
https://github.com/lavaliere/demo-joc
©2014 Cloud Bees, Inc. All Rights Reserved 
©2014 CloudBees, Inc. All Rights Reserved 61
Prochain SlideShare
Chargement dans…5
×

Continuous Delivery with Jenkins and Wildfly (2014)

31 717 vues

Publié le

A presentation on a continuous delivery pipeline that leverages Jenkins Enterprise, Jenkins Operations Center, Nexus, HAProxy, and Wildfly. Pipeline components run in Docker containers along with SkyDock/SkyDNS for service discovery and NSEnter for command-line access to containers.

Publié dans : Technologie

Continuous Delivery with Jenkins and Wildfly (2014)

  1. 1. Continuous delivery with Jenkins and Wildfly Tracy Kennedy Solution Architect ©2014 CloudBees, Inc. All Rights Reserved 1
  2. 2. • Solution Architect @ CloudBees ©2014 CloudBees, Inc. All Rights Reserved 2 Who am I? Git|Docker Hub: lavaliere Twitter: @Tracy_Kennedy
  3. 3. Who is CloudBees? ©2014 CloudBees, Inc. All Rights Reserved 3
  4. 4. Who is CloudBees? ©2014 CloudBees, Inc. All Rights Reserved 4
  5. 5. Who is CloudBees? Jenkins Operations Center ©2014 CloudBees, Inc. All Rights Reserved 5
  6. 6. What is Continuous Delivery? ©2014 CloudBees, Inc. All Rights Reserved 6
  7. 7. Target pipeline Source code On GitHub ©2013 CloudBees, Inc. All Rights Reserved ©2014 CloudBees, Inc. All Rights Reserved 7
  8. 8. ©2014 CloudBees, Inc. All Rights Reserved 8 Tools ©2013 CloudBees, Inc. All Rights Reserved
  9. 9. ©2014 CloudBees, Inc. All Rights Reserved 9 Tools ©2013 CloudBees, Inc. All Rights Reserved
  10. 10. ©2014 CloudBees, Inc. All Rights Reserved 10 Tools ©2013 CloudBees, Inc. All Rights Reserved
  11. 11. ©2014 CloudBees, Inc. All Rights Reserved 11 Tools ©2013 CloudBees, Inc. All Rights Reserved
  12. 12. Sets Base Image Sets the image ©2014 CloudBees, Inc. All Rights Reserved 12 Tools ©2013 CloudBees, Inc. All Rights Reserved author Command run in a shell Network ports to listen at runtime Adds an entry command
  13. 13. ©2014 CloudBees, Inc. All Rights Reserved 13 Tools ©2013 CloudBees, Inc. All Rights Reserved
  14. 14. ©2014 CloudBees, Inc. All Rights Reserved 14 Tools ©2013 CloudBees, Inc. All Rights Reserved
  15. 15. ©2014 CloudBees, Inc. All Rights Reserved 15 Tools ©2013 CloudBees, Inc. All Rights Reserved
  16. 16. Docker Client ©2014 CloudBees, Inc. All Rights Reserved 16 How I did it Host machine Boot2docker VM Container: skydock Image: crosbymichael/S kyDock Container: skydns Image: crosbymichael/s kydns Docker Server Docker Daemon
  17. 17. ©2014 CloudBees, Inc. All Rights Reserved 17 How I did it
  18. 18. ©2014 CloudBees, Inc. All Rights Reserved 18 How I did it
  19. 19. ©2014 CloudBees, Inc. All Rights Reserved 19 How I did it
  20. 20. ©2014 CloudBees, Inc. All Rights Reserved 20 How I did it Plugins used: • Build Pipeline(OSS)
  21. 21. ©2014 CloudBees, Inc. All Rights Reserved 21 How I did it Plugins used: • Config File Management (OSS)
  22. 22. ©2014 CloudBees, Inc. All Rights Reserved 22 How I did it Plugins used: • Credentials (OSS)
  23. 23. ©2014 CloudBees, Inc. All Rights Reserved 23 How I did it Plugins used: • Copy Artifacts (OSS)
  24. 24. ©2014 CloudBees, Inc. All Rights Reserved 24 How I did it Plugins used: • Secure Copy (JEBC)
  25. 25. ©2014 CloudBees, Inc. All Rights Reserved 25 How I did it Plugins used: • Jenkins Git Plugin (OSS)
  26. 26. ©2014 CloudBees, Inc. All Rights Reserved 26 How I did it Plugins used: • Folders (JEBC)
  27. 27. ©2014 CloudBees, Inc. All Rights Reserved 27 How I did it Plugins used: • Validated Merge (JEBC)
  28. 28. ©2014 CloudBees, Inc. All Rights Reserved 28 How I did it Plugins used: • Fast Archiving (JEBC)
  29. 29. HA Proxy Jenkins Enterprise Master-1 NAS Storage backup ©2014 CloudBees, Inc. All Rights Reserved 29 How I did it Plugins used: • High Availability (JEBC) Jenkins Enterprise Master-1 Jenkins Enterprise Master-N Jenkins Enterprise Master-N HA Proxy NAS Storage backup …
  30. 30. oc.cloudbees.com OC-master Server pushed to client master ©2014 CloudBees, Inc. All Rights Reserved 30 QA Engineering Operations Shared Roles and Security Realm oc.cloudbees.com/qa oc.cloudbees.com/eng oc.cloudbees.com/ops Attached-master client Attached-master client Attached-master client How I did it Plugins used: • Shared slaves (JOC)
  31. 31. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 31
  32. 32. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 32
  33. 33. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 33
  34. 34. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 34
  35. 35. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 35
  36. 36. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 36
  37. 37. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 37
  38. 38. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 38
  39. 39. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 39
  40. 40. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 40
  41. 41. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 41
  42. 42. Roadbumps ©2014 CloudBees, Inc. All Rights Reserved 42
  43. 43. That saying about insanity… ©2014 CloudBees, Inc. All Rights Reserved 43
  44. 44. Now the show begins! ©2014 CloudBees, Inc. All Rights Reserved 44
  45. 45. Detailed Architecture Wildfly-master Wildfly-1.wildfly.dev.beedemo.io:8080 Wildfly-1.wildfly.dev.beedemo.io:9990 ©2014 CloudBees, Inc. All Rights Reserved 45 Jenkins Operations Center joc-1.jenkins-operations-center. dev.beedemo.io:8080 Jenkins Enterprise api-team-1.jenkins-enterprise. dev.beedemo.io:8 888 Slave Slave-1.jenkins-slave. dev.beedemo.io:2 2 Slave Slave-2.jenkins-slave. dev.beedemo.io: 22 Nexus nexus.nexus.dev.beedemo.io :8081 Wildfly-slave Wildfly-2.wildfly.dev.beedemo.io:8080 Wildfly-2.wildfly.dev.beedemo.io:9990 HAProxy proxy.demo-joc-haproxy.dev.beedemo.io:80
  46. 46. Jenkins Job pipeline ©2014 CloudBees, Inc. All Rights Reserved 46
  47. 47. Jenkins Job pipeline ©2014 CloudBees, Inc. All Rights Reserved 47
  48. 48. Jenkins Job pipeline ©2014 CloudBees, Inc. All Rights Reserved 48
  49. 49. The build + Arquillian tests ©2014 CloudBees, Inc. All Rights Reserved 49
  50. 50. Jenkins Job pipeline ©2014 CloudBees, Inc. All Rights Reserved 50
  51. 51. Jenkins Job pipeline ©2014 CloudBees, Inc. All Rights Reserved 51
  52. 52. Jenkins to Nexus and Nexus to Jenkins ©2014 CloudBees, Inc. All Rights Reserved 52
  53. 53. Jenkins to Nexus and Nexus to Jenkins ©2014 CloudBees, Inc. All Rights Reserved 53
  54. 54. But what about this use case? ©2014 CloudBees, Inc. All Rights Reserved 54
  55. 55. Jenkins Job pipeline ©2014 CloudBees, Inc. All Rights Reserved 55
  56. 56. Jenkins Job pipeline ©2014 CloudBees, Inc. All Rights Reserved 56
  57. 57. Jenkins to Wildfly Wildfly Plugin ©2014 CloudBees, Inc. All Rights Reserved 57
  58. 58. Jenkins to Wildfly ©2014 CloudBees, Inc. All Rights Reserved 58
  59. 59. Future improvements • Templatized jobs and builders • Blue/green deployments to Wildfly • Pipeline as a workflow (OSS) • Workflow visualizations, checkpoints, etc (JEBC) • Hosted Docker containers • Docker slaves • Building the Wildfly application as a Docker container ©2014 CloudBees, Inc. All Rights Reserved 59
  60. 60. ©2014 CloudBees, Inc. All Rights Reserved 60 Next step • Demo repository: https://github.com/lavaliere/demo-joc
  61. 61. ©2014 Cloud Bees, Inc. All Rights Reserved ©2014 CloudBees, Inc. All Rights Reserved 61

×