continuous delivery with jenkins enterprise and ibm urbancode deploy
TRANSCRIPT
![Page 1: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/1.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 1 ©2015 CloudBees, Inc. and IBM All Rights Reserved
Continuous Delivery with Jenkins
Enterprise and UrbanCode Deploy
Kohsuke Kawaguchi / CTO, CloudBees, Inc.
- [email protected] / @kohsukekawa
Eric Minick / Release Automation Product Manager, IBM
- [email protected] / @EricMinick
![Page 2: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/2.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 2
Ground Rules
We’re all friends today!
Do you also compete in some circumstances? Do you integrate with the other’s competitors? Don’t you overlap in some way?
Valid questions we won’t discuss today
![Page 3: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/3.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 3
![Page 4: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/4.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 4
![Page 5: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/5.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 5
Infrastructure as Code
IaaS
PaaS
Automated Testing
![Page 6: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/6.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 6
![Page 7: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/7.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 7
Introducing Jenkins
©2010 CloudBees, Inc. All Rights Reserved
![Page 8: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/8.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 8
Extensible through 950+ plugins
![Page 9: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/9.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 9
![Page 10: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/10.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 10
![Page 11: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/11.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 11
0
500,000
1,000,000
1,500,000
2,000,000
2,500,000
3,000,000
3,500,000
4,000,000
Number of Jobs
![Page 12: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/12.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 12
0
500,000
1,000,000
1,500,000
2,000,000
2,500,000
3,000,000
3,500,000
4,000,000
Number of Jobs
![Page 13: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/13.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 13
Jenkins is everywhere
![Page 14: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/14.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 14
![Page 15: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/15.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 15
![Page 16: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/16.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 16
Copyright Google
![Page 17: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/17.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 17
Copyright Google
![Page 18: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/18.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 18
Dockercon keynote
![Page 19: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/19.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 19
Dockercon keynote
![Page 20: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/20.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 20
Dockercon keynote
![Page 21: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/21.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 21
Copyright HBO
![Page 22: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/22.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 22
Even on a TV show
![Page 23: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/23.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 23
![Page 24: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/24.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 24
Traceability with Puppet/Chef
Dev
Ops
Traceability to the checkin Traceability to the deployment Traceability to the machine
![Page 25: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/25.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 25
Host that runs Docker
Jenkins + Docker = elastic build slave
![Page 26: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/26.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 26
Host that runs Docker
Jenkins + Docker = elastic build slave
![Page 27: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/27.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 27
Host that runs Docker
Jenkins + Docker = elastic build slave
![Page 28: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/28.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 28
Jenkins + Git = validated merge
• No more broken builds
• Improve developer efficiency
• Run tests more efficiently
upstream repo
gate repo
![Page 29: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/29.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 29
Jenkins & UrbanCode Deploy
• Push artifacts as new component version
urbancode deploy
v1.0.${BUILD_NUMBER}
![Page 30: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/30.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 30
Jenkins & UrbanCode Deploy
• Trigger a process
urbancode deploy
![Page 31: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/31.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 31
Jenkins & UrbanCode Deploy
• Lots of options to compose them
– single linear pipeline
– build promotion
• “thumbs up” based approach
• For example,
– Build, unit test, and deploy automatically
– Allow someone to put “a thumb up” on a build
– Automatically trigger deployment to UAT
– Ops can use UC Deploy to push it into prod
![Page 32: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/32.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 32
Build Promotion Illustration
Foo #5
![Page 33: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/33.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 33
Build Promotion Illustration
Foo #5
FooTest #10
![Page 34: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/34.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 34
Build Promotion Illustration
Foo #5
FooTest #10
BarTest #16
![Page 35: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/35.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 35
Build Promotion Illustration
Foo #5
FooTest #10
BarTest #16
![Page 36: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/36.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 36
Build Promotion Illustration
Foo #5
FooTest #10
BarTest #16
FooIntTest #9
![Page 37: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/37.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 37
Build Promotion Illustration
Foo #5
FooTest #10
BarTest #16
FooIntTest #9
FooIntTest #10
![Page 38: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/38.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 38
Build Promotion Illustration
Foo #5
FooTest #10
BarTest #16
FooIntTest #9
FooIntTest #10
![Page 39: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/39.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 39
Build Promotion Illustration
Foo #5
FooTest #10
BarTest #16
FooIntTest #9
FooIntTest #10
Deploy #19
![Page 40: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/40.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 40
![Page 41: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/41.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 41 http://www.flickr.com/photos/81305097@N00/370896570/
![Page 42: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/42.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 42
Containerized components
![Page 43: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/43.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 43
rspec-puppet test as PR validation
![Page 44: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/44.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 44
On-server testing with serverspec
![Page 45: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/45.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 45
r10k + puppet enterprise
Every branch automatically becomes environment
![Page 46: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/46.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 46
Two key branches & environments
‘staging’ branch
‘production’ branch
![Page 47: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/47.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 47 http://commons.wikimedia.org/wiki/File:Close_up_of_Hand_Cut_Jigsaw_Puzzle.JPG
![Page 48: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/48.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 48 http://www.flickr.com/photos/81305097@N00/370896570/
![Page 49: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/49.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 49
![Page 50: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/50.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 50
Workflow as code
node {
workspace {
git(url: ‘http://server/myapp.git’)
for ( i in 0..<10)
sh ‘mvn test –Dsuite=${i}’
}
}
![Page 51: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/51.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 51
More reasons why we like buildflow
• Rich control flow
• Rich abstractions
• Meaningful diff
![Page 52: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/52.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 52
Leap: one place for everything
• Not just calling other jobs
• Check out source code
• Fork processes
• Archive artifacts
• …
![Page 53: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/53.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 53
Leap: resilience
Build #153
![Page 54: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/54.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 54
Leap: resilience
Build #153
![Page 55: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/55.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 55
Leap: resilience
Build #153 Build #153
![Page 56: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/56.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 56
![Page 57: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/57.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 57
Leap: checkpointing
![Page 58: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/58.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 58
Leap: checkpointing
![Page 59: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/59.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 59
Leap: checkpointing
![Page 60: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/60.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 60
Leap: checkpointing
![Page 61: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/61.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 61
Leap: checkpointing
![Page 62: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/62.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 62
Leap: checkpointing
![Page 63: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/63.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 63
Leap: checkpointing
![Page 64: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/64.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 64
Leap: checkpointing
![Page 65: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/65.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 65
Leap: checkpointing
![Page 66: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/66.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 66
Leap: checkpointing
![Page 67: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/67.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 67
Leap: checkpointing
![Page 68: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/68.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 68
Leap: checkpointing
![Page 69: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/69.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 69
Leap: checkpointing
![Page 70: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/70.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 70
Leap: checkpointing
![Page 71: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/71.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 71
Leap: checkpointing
![Page 72: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/72.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 72
Leap: checkpointing
![Page 73: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/73.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 73
Leap: checkpointing
![Page 74: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/74.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 74
Leap: checkpointing
![Page 75: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/75.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 75
As the usage grows:
Jenkins Enterprise by CloudBees
Professional support
High availability
Large installations
Security
Optimized utilization
![Page 76: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/76.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 76
Conclusions
• More and more integrations
• Non-prescriptive approach for the win
• Many successful CD pipelines with Jenkins
• Workflow ties them all together
![Page 77: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/77.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 77
![Page 78: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/78.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 78
“Classic” CD
build dev
test
system
test UAT sign-off staging prod
![Page 79: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/79.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 79
Enterprise Challenges
?
Complex Systems have many parts
many specialists and teams too
Image credit: https://www.flickr.com/photos/billward/155440416
![Page 80: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/80.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 80
Composite apps: many tiers & components
![Page 81: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/81.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 81
Composite apps: many tiers & components
An Application might have
dozens of components
![Page 82: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/82.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 82
Composite apps: many tiers & components
An Application might have
dozens of components
Delivered by Different Teams
![Page 83: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/83.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 83
Composite apps: many tiers & components
Which build does “Login” test?
![Page 84: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/84.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 84
Build pipelines in composite applications
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
build dev
test
system
test UAT sign-off staging prod
![Page 85: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/85.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 85
These people deploy one build at a time to prod
88% Deploy More than one build to production a time
√
√
√
![Page 86: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/86.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 86
Key “Gotchas”
• Related stuff is deployed / released together
• Some of it isn’t built
• Some of it is incremental Man… Databases,
content, middleware config are a pain
![Page 87: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/87.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 87
The Plan!
• Continuous Delivery Overview
• Jenkins is awesome
• What’s new in Enterprise Jenkins
• Deployment “gotchas” for CD
• UrbanCode Deploy is awesome
• What’s new in UrbanCode Deploy
• The integrated scenario
![Page 88: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/88.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 88
Intuitive and Scalable Model Driven Deployment
Composite Applications
Components
Re-usable Processes Environment
Management
SIT
PROD
The “What”
The “How”
The “Where”
Deployment
Automation
![Page 89: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/89.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 89
Components:
- Individual deployable projects
Application:
- A complete collection of components
- Describes inter-component dependencies
Applications are made of Components
![Page 90: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/90.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 90
Application Deployments made of Component
Deployments Application Process
- Orchestrate deployment of many components
- Represents deploy-time dependencies
Component Process
- How to deploy a thing to a target
Drag-and-Drop Workflow Designer
Processes are Versioned with Change Logs
Create Custom Steps
![Page 91: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/91.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 91
Snapshots promote tested versions ….
• Manage a set of tested component versions as a single unit
• Guarantee the validated versions of related components are
deployed together
• Ease of promoting applications between environments
1
1
2
3
UAT Stage PROD
Promote Promote
Web
Mid. Code
Mid. Config
DB
Snapshot
![Page 92: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/92.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 92
The Plan!
• Continuous Delivery Overview
• Jenkins is awesome
• What’s new in Enterprise Jenkins
• Deployment “gotchas” for CD
• UrbanCode Deploy is awesome
• What’s new in UrbanCode Deploy
• The integrated scenario
![Page 93: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/93.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 93
What’s new
93
![Page 94: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/94.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 94
Lots of new integrations
94
developer.ibm.com / urbancode / plugins
![Page 95: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/95.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 95
Dev/Test with Hybrid Cloud
95
Off
-Pre
m
On
-Pre
m
Image Registry
IBM Bluemix
IBM UrbanCode Deploy PROD STAGING
![Page 96: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/96.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 96
The Plan!
• Continuous Delivery Overview
• Jenkins is awesome
• What’s new in Enterprise Jenkins
• Deployment “gotchas” for CD
• UrbanCode Deploy is awesome
• What’s new in UrbanCode Deploy
• The integrated scenario
![Page 97: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/97.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 97
Plugin to push files / trigger deploys
Jenkins can Easily: • Tell UC Deploy about
new versions • Trigger deployments to
dev and test environments
Use Workflow to promote through independent testing environments.
![Page 98: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/98.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 98
On build completion, Jenkins
publishes the latest artifacts
to UrbanCode Deploy and
deployed to a development
or SIT environment.
After deployment,
automated tests are started.
If they pass, we mark the
tested versions as such.
Before any
deployments to
production, manual
approvals are
required.
The exact combination of
component versions which
passed tests is captured in a
snapshot.
Putting it all together – Continuous Delivery
The “What”
The “Where”
The “How”
![Page 99: Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy](https://reader034.vdocuments.net/reader034/viewer/2022052700/55a6cbfa1a28ab0e5e8b45ed/html5/thumbnails/99.jpg)
©2015 CloudBees, Inc. and IBM All Rights Reserved 99 ©2015 CloudBees, Inc. and IBM All Rights Reserved
Questions?
Kohsuke Kawaguchi / CTO, CloudBees, Inc.
- [email protected] / @kohsukekawa
Eric Minick / Release Automation Product Manager, IBM
- [email protected] / @EricMinick