continuous integration and delivery and deployment

Post on 13-Apr-2017

38 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CI & CDSleep in peace

`whoami`

RUBÉNSOSPEDRA

Software engineerat Ulabox

@sospedra_r

Testing

All code is guilty,until proven innocent

Testing

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]

CI = TEST + BUILD

Continuous Integration

Is an approach in which automated testing and

deployment capabilities allow rapid deployments.

With minimal human intervention: triggers.

Continuous Delivery

Continuous Delivery

Continuous Delivery =

TEST + BUILD + → DEPLOY👆

Continuous Delivery

Continuous Delivery =

(TEST + BUILD) + → DEPLOY👆

Continuous Delivery

Continuous Delivery =

(CI) + → DEPLOY👆

Continuous Delivery

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]

CD =

TEST + BUILD + ⚙ → DEPLOY

Continuous 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

🚢 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

AUTOMATEDAUTOMATEDAUTOMATEDAUTOMATEDAUTOMATEDAUTOMATED

Key concept

Tools

Some tools

Tools

. . . GitLab!

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

ThanksMay the test be with you 🖖

top related