Upload
spring-io
View
461
Download
3
Tags:
Embed Size (px)
Citation preview
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
CI on the Cloud with Jenkins, Spring and Cloud Foundry
Jamie O’Meara, Sr Field Engineer, Pivotal @JamieOMeara
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Introduction
! Cloud Foundry enthusiast
! 20 years of software engineer experience
! Twitter: @JamieOMeara
2
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/3
Software is Changing Industries
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
8 Releases to 2 Months
4
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
How Did They Do It?
5
Culture built around change • 12-24 releases per year for apps • Experimental releases, A/B testing, production?
Communicative Process • Frequent releases delivered to users • User Feedback Loops and Metrics
Technology and Tools • Automated Platform Delivery and Services • Cloud Services
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Continuous Quality
6
• Continuous Deployment • Continuous Delivery • Hybrid Cloud • Configuration Management
• Blue/Green Deployment • Baselined Delivery • Production
• Object-Oriented • Test Driven Development • Continuous Integration
Build Delivery Quality
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What is Cloud Foundry?
7
1 2
43
Portable Across Clouds
Polyglot and API Centric
Open Source Community
Highly Available and Scalable
http://cloudfoundry.org
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
The Value of Platform
8
IaaS Provisioning and Configuration
4
9
8
7
6
51
2
3
Containerization
Load Balancing and Routing
Health Management
Scaling
Services
Log Aggregation and Metrics
Security
Role Management
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Blue/Green Deployment
9
1 2
3 4
BlueCF Routerapp.example.com Blue
Green
CF Router
app.example.com
app-new.example.com
Blue
Green
CF Router
app-new.example.com
app.example.com
app.example.com
Blue
Green
CF Router app.example.com
Cloud Foundry
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Continuous Deployment Demonstration Flow
10
Public CloudPrivate CloudDevelopers
IDE
Deploy
Job
Deploy
Job cf push
cf push
Organization
Dev Test Production
http://maps-dev.piv.io
Organization
Dev Test Production
http://maps-dev.cfapps.io
Pivotal Web Services
Demo
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Continuous Delivery with Cloud Foundry
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Best Practices/Lessons Learned
! Hash commits and Jenkin build numbers for versioning and easy identification
! Canonical route names for easy of use and external access for users
! If applicable use the Cloudbees Jenkins plugin
! SCM for configuration details
! Continuous Delivery design should account for platform portability and scale
12
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Future Designs and Topics
! Jenkins workflows
• Asynchronous pipelines, specifically check points
! Orchestration of micro services
! On-premise cloud scale of Jenkins on Cloud Foundry
! CF plugins, auto-pilot (Alternative to blue-green deployment)
• http://plugins.cloudfoundry.org
13
Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under aCreative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/14
Learn More. Stay Connected.
! Review reference material @ • https://github.com/omearaj/App-Pipeline
! Start building CD pipelines using Pivotal Web Services • https://console.run.pivotal.io/register • http://docs.run.pivotal.io/starting/
Twitter: twitter.com/springcentral YouTube: spring.io/video LinkedIn: spring.io/linkedin Google Plus: spring.io/gplus