14
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/ CI on the Cloud with Jenkins, Spring and Cloud Foundry Jamie O’Meara , Sr Field Engineer, Pivotal @ JamieOMeara

CI on the Cloud with Jenkins, Spring and Cloud Foundry

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