Mais conteúdo relacionado Semelhante a Continuous Delivery with Jenkins and Wildfly (2014) (20) Continuous Delivery with Jenkins and Wildfly (2014)1. Continuous delivery with
Jenkins and Wildfly
Tracy Kennedy
Solution Architect
©2014 CloudBees, Inc. All Rights Reserved 1
2. • Solution Architect @ CloudBees
©2014 CloudBees, Inc. All Rights Reserved 2
Who am I?
Git|Docker Hub: lavaliere
Twitter: @Tracy_Kennedy
5. Who is CloudBees?
Jenkins Operations
Center
©2014 CloudBees, Inc. All Rights Reserved 5
7. Target pipeline
Source code
On GitHub
©2013 CloudBees, Inc.
All Rights Reserved
©2014 CloudBees, Inc. All Rights Reserved 7
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
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
21. ©2014 CloudBees, Inc. All Rights Reserved 21
How I did it
Plugins used:
• Config File Management (OSS)
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. 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)
44. Now the show begins!
©2014 CloudBees, Inc. All Rights Reserved 44
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
49. The build + Arquillian tests
©2014 CloudBees, Inc. All Rights Reserved 49
52. Jenkins to Nexus and Nexus to
Jenkins
©2014 CloudBees, Inc. All Rights Reserved 52
53. Jenkins to Nexus and Nexus to
Jenkins
©2014 CloudBees, Inc. All Rights Reserved 53
54. But what about this use
case?
©2014 CloudBees, Inc. All Rights Reserved 54
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. ©2014 CloudBees, Inc. All Rights Reserved 60
Next step
• Demo repository:
https://github.com/lavaliere/demo-joc
61. ©2014 Cloud Bees, Inc. All Rights Reserved
©2014 CloudBees, Inc. All Rights Reserved 61