Top Banner
Jenkins User Conference San Francisco # jenkinsconf Beyond Continuous Delivery Chris Hilton Gap, Inc. www.gapinc.com October 23, 2014 #jenkinsconf
29

Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

May 21, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Beyond Continuous

Delivery

Chris Hilton

Gap, Inc.

www.gapinc.com

October 23, 2014

#jenkinsconf

Page 2: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Continuous Delivery

• Frequent, automated releases

• Every check-in is a potential

release

• Every change triggers feedback

• Feedback must be received as

soon as possible

• Automate almost everything

• Build quality in

Page 3: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Assumptions

• Trunk-based development

• Continuous integration/delivery/deployment

• Cloud infrastructure

– Cheap

– Unlimited

Page 4: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

App WAR

A JAR

Common JAR

B JAR

Modular Development and

Dependency Management

Page 5: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received
Page 6: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

App WAR

A JAR

Common JAR

B JAR

Dependency Management

and Modular Development

Page 7: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Base VM

Isolation Tests

IT Scripts

Env Scripts App WAR

A JAR

Common JAR

B JAR

Infrastructure as Code

Application InfrastructureIntegration

Page 8: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Semi-fluid Dependencies

Page 9: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Semi-fluid Dependencies

Page 10: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Semi-fluid Dependencies

Page 11: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Base VM

Isolation Tests Isolation Tests

Integration Tests

Other App Env Scripts

IT Scripts

Env Scripts App WAR

A JAR

Common JAR

B JAR

Integrated Pipelines

Application InfrastructureIntegration

Page 12: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Fusion Testing

Page 13: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Application InfrastructureIntegration

Base VM

Isolation Tests Isolation Tests

Production

Staging

Integration Tests

Other App Env Scripts

IT Scripts

Env Scripts App WAR

A JAR

Common JAR

B JAR

Pipeline Segments

Page 14: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Cloneable Pipelines

Application InfrastructureIntegration

Base VM

Isolation Tests Isolation Tests

Production

Staging

Integration Tests

Other App Env Scripts

IT Scripts

Env Scripts App WAR3.6

A JAR2.3

Common JAR4.3

B JAR1.4

2.3 : 2.0+ 1.4 : 1.0+

4.3 : 4.0+ 4.3 : 4.0+

Staging

Integration Tests

Isolation Tests

App WAR

A JAR B JAR

Common JAR

Page 15: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Personal Pipelines

Base VM

Isolation Tests Isolation Tests

Production

Staging

Integration Tests

Other App Env Scripts

IT Scripts

Env Scripts App WAR3.6

A JAR2.3

Common JAR4.3

B JAR1.4

2.3 : 2.0+ 1.4 : 1.0+

4.3 : 4.0+ 4.3 : 4.0+

Staging

Integration Tests

Isolation Tests

App WAR

A JAR B JAR

Common JAR

Application InfrastructureIntegration

Page 16: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Pre-Flight Pipelines

Base VM

Isolation Tests Isolation Tests

Production

Staging

Integration Tests

Other App Env Scripts

IT Scripts

Env Scripts App WAR3.6

A JAR2.3

Common JAR4.3

B JAR1.4

2.3 : 2.0+ 1.4 : 1.0+

4.3 : 4.0+ 4.3 : 4.0+

Staging

Integration Tests

Isolation Tests

App WAR

A JAR B JAR

Common JAR

Application InfrastructureIntegration

Page 17: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Speculative Pipelines

Page 18: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Pre-Flight Pipelines In Action

trunk

devops A

devops B

Page 19: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Pre-Flight Pipelines In Action

trunk

devops A

devops B

devops C

Page 20: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

n

n + 1

Quantum Pipelines

Page 21: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Quantum Pipelines

n

n + 1

n + 2 n + 1 + 2

n + 2

Page 22: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Quantum Pipelines

n

n + 1

n + 2 n + 1 + 2

n + 2 -

Page 23: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Quantum Pipelines

n

n + 1

n + 2 n + 1 + 2

n + 2

n + 3 n + 1 + 2 + 3

n + 2 + 3

n + 1 + 3

n + 3

-

--

Page 24: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Evergreen Trunks

n

n + 1

n + 2 n + 1 + 2

n + 2

n + 3 n + 1 + 2 + 3

n + 2 + 3

n + 1 + 3

n + 3

-

--

-

Page 25: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Extreme Integration

trunk

extreme

workspace

Page 26: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Extreme Integration

trunk

extreme

workspace

Page 27: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Extreme Integration

trunk

extreme

workspace

Page 28: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Thank You To Our Sponsors

Platinum Gold

Silver Corporate

Page 29: Beyond Continuous Delivery · Continuous Delivery •Frequent, automated releases •Every check-in is a potential release •Every change triggers feedback •Feedback must be received

Jenkins User Conference San Francisco #jenkinsconf

Beyond Continuous

Delivery

Chris Hilton

Gap, Inc.

www.gapinc.com

October 23, 2014

#jenkinsconf