beyond continuous delivery · continuous delivery •frequent, automated releases •every check-in...

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

Upload: others

Post on 21-May-2020

9 views

Category:

Documents


0 download

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