Top Banner
Introduction to DevOps. Continuous Integration Myroslav Dmytrus .Net developer at Binary Studio
27

Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Jan 21, 2017

Download

Software

Binary Studio
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Introduction to DevOps. Continuous Integration

Myroslav Dmytrus.Net developer at Binary Studio

Page 2: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Terms

Continuous integration

Continuous delivery /continuous deployment

DevOps

Page 3: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

What is Continuous integration?● A development methodology

● Of daily developer integrations

● Verified by automated builds

● Every commit triggers a build− As soon as you have completed an independent functionality

− A full build on another, empty machine

Page 4: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Review

User 1

User 2

Commit

Commit

Repository CI ServerIntegration Build

Machine

FeedbackMechanism

Page 5: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Why use continuous integration

● Automate the build

● Make the build self testing

● Keep the build fast

● Fix Broken Builds Immediately

● Every Commit Should Build the Mainline on an Integration Machine

Page 6: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

● Maintain a Single Repository

● Everyone Commits To the Mainline Every Day

● Test in a clone of the production environment

● Make it Easy for Anyone to Get the Latest Executable

● Everyone can see what's happening

● Automate deployment

Page 7: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Self-testing build● Directly go from source to running build

− No manual copying

− No click on dialog boxes

− No configuration file editing

● Test with− Unit tests

− Functional tests (web tests)

− Performance tests

● Responsible persons should be notified when anything fails

Page 8: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Page 9: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Tools

Page 10: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Jenkins

Page 11: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Page 12: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Page 13: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Page 14: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Page 15: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Continuous Delivery● Continuous delivery/Continuous deployment

● Continuous, successful and repeatable methodology to deploying code

● Automated the steps of taking checked in code and making it run on production servers, used by customers

Page 16: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Continuous Integration

Page 17: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

8 Principles of Continuous Delivery

● The process for releasing/deploying software MUST be repeatable and reliable

● Automate everything

● If somethings difficult or painful, do it more often

● Keep everything in source control

● Done means “released”

● Build quality in

● Everybody has responsibility for the release process

● Improve continuously

Page 18: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Continuous Delivery Vs. Continuous Deployment

Page 19: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Self-hosting / On premise

Page 20: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus
Page 21: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Virtual machines docker

Server

Hypervisor

Host OS

kernel

bins/libs

app

kernel

bins/libs

app

Server

Host OS

bins/libs

app

bins/libs

app

VM

container

Page 22: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

image containerrun

OS

Software

Application

Docker file

build

Page 23: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

DevOps

Page 24: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

Development Operations

SalesMarketing

Q/AConsulting

ManagementLeadershipCustomers

DevOps

DevOps

Page 25: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

DevOps: the three stage conversation

Page 26: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus

List of DevOps Practices● Infrastructure as Code (IaC)

● Continuous Integration

● Automated Testing

● Continuous Deployment

● Release Management

● App Performance Monitoring

● Load Testing & Auto-Scale

● Automated Environment Deprovisioning

● Automated Recovery

● Feature Flags

Page 27: Introduction to DevOps. Continuous Integration by Myroslav Dmytrus