striving for continuous integration and deployment

14
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT 1 Derk-Jan de Grood [SC]2 4 October 2017

Upload: derk-jan-de-grood

Post on 21-Jan-2018

44 views

Category:

Technology


2 download

TRANSCRIPT

STRIVING FOR CONTINUOUS

INTEGRATION AND DEPLOYMENT

1

Derk-Jan de Grood

[SC]2 – 4 October 2017

2

STRIVING FOR CONTINUOUS INTEGRATION AND

DEPLOYMENT

Continuous integration and deployment (CI/CD)

empowers organizations to bring their solution in

production fast and frequent. This interactive session

will share the benefits of this concept and introduce

eight conditions that need to be met in order to make

CI/CD a success. After this brief introduction, we will

make small groups and explore these conditions,

exchange experiences and you will get an

understanding what needs to be improved in your

organization. Talk to your peers and learn where they

stand. Of course each of the groups will share their

learnings, so we all go home with an understanding of

how you can benefit from CI/CD and what needs to be

done to make it work.

Aim of this session

3

Continues Integration & Deployment

A brief introduction

4

Levels

5

Code & commit

Integrate & build

Test Deliver

Definitions

Continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day.

With continuous delivery (CD) teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently.

Continuous deployment (CD) is the next step of continuous delivery: Every change that passes the automated tests is deployed to production automatically.

[Sources: Wikipedia and puppet.com]

6

Continuous Delivery Example

7

Local

• Code

• UnitTest

• Commit

Development

• SaveRepo

• Getconfig

• Deploy

• Test

Test

• SaveRepo

• Getconfig

• Deploy

• Test

Acceptance

• SaveRepe

• Getconfig

• Deploy

• Test

1

Daily • Nightly regression

test

• Monitoring

Daily • Nightly

performancetest

• Monitoring

Daily • E2Etest

• Monitoring

Advantages

• Efficiency

• Reduces amount of rework

• Predictability

• Reduced time to market

• Fast feedback

• Reducing risk

• Better quality solutions

8

Will it work ?

Requisites for CI/CD

9

CI/CD requires that (in random order)

10

Teams collaborate with each other

Integration is continuous

Deployment is a hands-off process

Feedback loop to improve quality

Features are launched frequently

Acceptance criteria are clear

Teams have all required skills and

knowledge

Tests are automated

Valo

ri -

vers

ion 1

.2-

2017

CI/CD requires that (in random order)

11

Teams collaborate with each other

Deployment is a hands-off process

Feedback loop to improve quality

Features are launched frequently

Acceptance criteria are clear

Teams have all required skills and

knowledge

Tests are automated

Valo

ri -

vers

ion 1

.2-

2017

Architecture supports partial development

and release

What do the requisites mean to you?

12

Exchange Experiences

13

Wrap-up

14