continuous integration and delivery and deployment

19
CI & CD Sleep in peace

Upload: ruben-sospedra

Post on 13-Apr-2017

38 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Continuous integration and delivery and deployment

CI & CDSleep in peace

Page 2: Continuous integration and delivery and deployment

`whoami`

RUBÉNSOSPEDRA

Software engineerat Ulabox

@sospedra_r

Page 3: Continuous integration and delivery and deployment

Testing

All code is guilty,until proven innocent

Page 4: Continuous integration and delivery and deployment

Testing

Page 5: Continuous integration and delivery and deployment

CI is a software development practice in which you

build and test software every time a developer

pushes code to the application.

Continuous Integration

Continuous Integration [CI]

Page 6: Continuous integration and delivery and deployment

CI = TEST + BUILD

Continuous Integration

Page 7: Continuous integration and delivery and deployment

Is an approach in which automated testing and

deployment capabilities allow rapid deployments.

With minimal human intervention: triggers.

Continuous Delivery

Continuous Delivery

Page 8: Continuous integration and delivery and deployment

Continuous Delivery =

TEST + BUILD + → DEPLOY👆

Continuous Delivery

Page 9: Continuous integration and delivery and deployment

Continuous Delivery =

(TEST + BUILD) + → DEPLOY👆

Continuous Delivery

Page 10: Continuous integration and delivery and deployment

Continuous Delivery =

(CI) + → DEPLOY👆

Continuous Delivery

Page 11: Continuous integration and delivery and deployment

Every code change goes through a pipeline and is put

into production automatically. There's no human

intervention at all.

Continuous Deployment

Continuous Deployment [CD]

Page 12: Continuous integration and delivery and deployment

CD =

TEST + BUILD + ⚙ → DEPLOY

Continuous Deployment

Page 13: Continuous integration and delivery and deployment

🚢 Ship the code within a merge request 🔄 Run automated tests 🔐 Build and deploy to a staging environment 👀 Preview the changes

🔎 Review the code and merge into master 👆 Deploy your changes to a production environment

😭 Rollback if something goes wrong

Flow: staging

Staging

Page 14: Continuous integration and delivery and deployment

🚢 Ship the code within a merge request 🔄 Run automated tests

⚙ Build and deploy to a production environment 👀 Preview the changes

😭 Rollback if something goes wrong

Flow: staging

YOLO

Page 15: Continuous integration and delivery and deployment

AUTOMATEDAUTOMATEDAUTOMATEDAUTOMATEDAUTOMATEDAUTOMATED

Key concept

Page 16: Continuous integration and delivery and deployment

Tools

Some tools

Page 17: Continuous integration and delivery and deployment

Tools

. . . GitLab!

Page 18: Continuous integration and delivery and deployment

Resources

Resources

● [demo] gitlab.com/sospedra/upc● [CI Lintern] gitlab.com/ci/lint● [tpls] /new/master?file_name=.gitlab-ci.yml● [deploy] github.com/travis-ci/dpl● [book] thoughtworks.com/continuous-delivery

Page 19: Continuous integration and delivery and deployment

ThanksMay the test be with you 🖖