import continuous.delivery.*; - Jevgeni Kabanov
-
Upload
jaxconf -
Category
Technology
-
view
384 -
download
5
description
Transcript of import continuous.delivery.*; - Jevgeni Kabanov
![Page 1: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/1.jpg)
Jevgeni Kabanov@ekabanov
CEO, ZeroTurnaround
import continuous.delivery.*
![Page 2: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/2.jpg)
Subtitle
![Page 3: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/3.jpg)
Fedex process
![Page 4: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/4.jpg)
•PackageFedex process
![Page 5: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/5.jpg)
•Package
•Dropoff
Fedex process
![Page 6: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/6.jpg)
•Package
•Dropoff
•Transfer
Fedex process
![Page 7: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/7.jpg)
•Package
•Dropoff
•Transfer
•Delivery
Fedex process
![Page 8: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/8.jpg)
•Package
•Dropoff
•Transfer
•Delivery
•Profit!
Fedex process
![Page 9: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/9.jpg)
Java EE
![Page 10: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/10.jpg)
•Package
Java EE
![Page 11: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/11.jpg)
•Package•Test
Java EE
![Page 12: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/12.jpg)
•Package•Test •Approve
Java EE
![Page 13: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/13.jpg)
•Package•Test •Approve•Deploy
Java EE
![Page 14: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/14.jpg)
•Package•Test •Approve•Deploy •Profit!
Java EE
![Page 15: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/15.jpg)
•How do you package the application? •Where did it come from?•Where does it go?•How does it get deployed?•What exactly is in prod now?
Questions?
![Page 16: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/16.jpg)
Fedex FAIL
![Page 17: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/17.jpg)
Software FAIL
![Page 18: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/18.jpg)
![Page 19: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/19.jpg)
How do we fix this?
![Page 20: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/20.jpg)
•Failure•Downtime
Key Problems
![Page 21: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/21.jpg)
Solution:Continuous Delivery
![Page 22: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/22.jpg)
•Automate•Record•Test•Recover
Philosophy
![Page 23: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/23.jpg)
•Orchestration Platform•Delivery Manager•Artifact Repository
The Pipeline
![Page 24: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/24.jpg)
Jenkins(OSS Continuous Integration Server)
![Page 25: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/25.jpg)
Orchestration platform
![Page 26: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/26.jpg)
•Logging•Notifications•Clustered•GUI•Authentication•Authorization
Jenkins
![Page 27: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/27.jpg)
LiveRebel(Commercial Delivery Manager)
![Page 28: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/28.jpg)
•No Downtime•Failsafe Delivery & Recovery•Wide Ecosystem Support•Exact Knowledge•Zero Configuration
What’s so different?
![Page 29: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/29.jpg)
•Deploy/Undeploy•Update•No downtime•No lost sessions•Plain old restarts•Edit in place
What can you do with LiveRebel?
![Page 30: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/30.jpg)
•No good OSS alternative•Supports many containers•No downtime updates•Integrates with OSS projects
Why LiveRebel?
![Page 31: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/31.jpg)
Nexus(OSS/Commercial Artifact Repository)
![Page 32: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/32.jpg)
•Repositories•Authentication•Authorization•Logging
Key Features
![Page 33: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/33.jpg)
Now let’s build a pipeline!
![Page 34: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/34.jpg)
Build Test QA Prod
The Pipeline / The Repos
![Page 35: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/35.jpg)
Tomcat #1
Tomcat #2Tomcat #3
Apache LB
Redis #1Redis #1Redis #3
LiveRebelNexus
Jenkins
![Page 36: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/36.jpg)
•Build the artifact•Upload to “build” repository
Build
![Page 37: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/37.jpg)
•Download “build” artifact•Create a new test deployment•Run acceptance tests•Upload “test” artifact
Test
![Page 38: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/38.jpg)
•Download “test” artifact•Send email to QA to begin testing•Upload “qa” artifact•When QA finished!•Clean up test deployment
QA
![Page 39: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/39.jpg)
•Download “qa” artifact•Upload “rc” artifact•Send email to Biz for decision•Deploy to production
PROD
![Page 40: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/40.jpg)
•Database•Configuration & Environment•Tests & Monitoring
Things Not Covered
![Page 41: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/41.jpg)
•How do you package the application? •Where did it come from?•Where does it go?•How does it get deployed?•What exactly is in prod now?
Questions?
![Page 42: import continuous.delivery.*; - Jevgeni Kabanov](https://reader033.fdocuments.in/reader033/viewer/2022052905/55862e7cd8b42ac54a8b4d7f/html5/thumbnails/42.jpg)
•Jenkins jobs represent the workflow•Nexus is a sync-point for long-running workflows•LiveRebel manages apps and users •Manual flows with email/REST•Tracking with scripts & text files
Conclusions