Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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
Nächste SlideShare
Wird geladen in …5
×

Continuous Delivery with Jenkins and Wildfly (2014)

32.196 Aufrufe

Veröffentlicht am

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.

Veröffentlicht in: 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

×