continuous integration and delivery and deployment
Post on 13-Apr-2017
38 Views
Preview:
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