Using DevOps Tools to Achieve Continuous Integration

Similar documents
DevOps. Building a Continuous Delivery Pipeline

DevOps Course Content

Modern Web development and operations practices. Grig Gheorghiu VP Tech Operations Nasty Gal

Virtualisation is a Technology, Cloud Computing is a Business Model

Practical continuous deployment

Jenkins and Chef Infrastructure CI and Application Deployment

You ll need to have: It d be great if you have:

Application Release Automation (ARA) Vs. Continuous Delivery

Big Data Use Case. How Rackspace is using Private Cloud for Big Data. Bryan Thompson. May 8th, 2013

CI Pipeline with Docker

Massively! Continuous Integration! A case study for Jenkins at cloud-scale

Performance Benchmark for Cloud Databases

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

CloudBees Continuous Integration and Test with Appvance Enterprise August 28, 2013 Frank Cohen, (408)

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

Continuous Delivery by example.net

Building a Continuous Integration Pipeline with Docker

Enabling Continuous Delivery for Java Projects with Oracle Cloud Services (Oracle PaaS) Siva Rama Krishna Oracle India

DevOps with Containers. for Microservices

Copyright Soleran, Inc. esalestrack On-Demand CRM. Trademarks and all rights reserved. esalestrack is a Soleran product Privacy Statement

Leveraging OpenStack Private Clouds

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS. Craig Rodrigues

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Zero-Touch Drupal Deployment

A Pythonic Approach to Continuous Delivery

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

Automation & Open Source. How to tame the Cloud?

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

Database Build and Release will get started soon

DR-to-the- Cloud Best Practices

OpenMake Dynamic DevOps Suite 7.5 Road Map. Feature review for Mojo, Meister, CloudBuilder and Deploy+

Mastering Continuous Integration with Jenkins

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

How To Manage Change In Jeepers

Making Peace with the User Profile Service. Todd Klindt & Shane Young Rackspace

MANAGE AND DEPLOY YOUR SITES WITH DRUSH

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

Brakeman and Jenkins: The Duo Detects Defects in Ruby on Rails Code

Continuous Integration and Delivery at NSIDC

StriderCD Book. Release 1.4. Niall O Higgins

Getting Started with DevOps Automation

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Security Automation in Agile SDLC Real World Cases

Azure Day Application Development

DevOps. Jesse Pai Robert Monical 8/14/2015

Is This Your Pipe? Hijacking the Build Pipeline

Fundamentals of Continuous Integration

White Paper. The Importance of Automating the End to End Pipeline for Continuous Delivery

Open Source Multi-Cloud, Multi- Tenant Automation in the cloud with SlipStream PaaS

Whitepaper. Continuous Integration Tools Applying Best Practices to the Toolchain

Continuous Integration and Delivery. manage development build deploy / release

How To Design A Private Cloud Powered By Openstack

What new with Informix Software as a Service and Bluemix? Brian Hughes IBM

Why Engine Yard is better than Do it yourself

GETTING STARTED WITH CONTINUOUS DELIVERY. Lana wcgp.co

Deploying Your Application On Public Cloud

MAY/JUNE 2016 SOFTWARE ENERGY CONSUMPTION // 83 REACTIVE PROGRAMMING // IEEE SOFTWARE. May/June 2016

DevOps Stack. Reid Holmes. Chris Parnin:

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Continuous Integration

Modularity in the cloud. A case study

Simple and powerful site deployment with capistrano

Mobile Development with Git, Gerrit & Jenkins

Continuous Delivery and Test Automation in Agile SW projects with Robot Framework Antti Pohjonen

Creating a dynamic software deployment solution using free/libre software

REQUEST FOR EXPRESSIONS OF INTEREST AFRICAN DEVELOPMENT BANK

DEPLOYING DRUPAL USING CAPISTRANO

Managed Metadata in Plain English

TEST AUTOMATION FRAMEWORK

Service Orchestration

GOVERNMENT SERVICES. Open Source Software Development Web Content Management Mobile + Web Apps

Patterns to Introduce Continuous Integration to Organizations

Developing Plugins for Cloud Scale

DevOps. Production Operations - The Last Mile of a DevOps Strategy

Supercharge your MySQL application performance with Cloud Databases

DevOps and SUSE From check-in to deployment

Using Vagrant for Magento development. Alexander

A Tale of Two Workloads

Gerrit and Jenkins for Big Data Continuous Delivery. Santa Clara, CA, September 2-3

Achieving Continuous Integration with Drupal

Data Center Automation with YADT

Cloud Security. in an Agile World. Written by: Jaret Chiles, Enterprise Cloud Solutions Architect and Matt Tesauro, Product Security Engineering Lead

INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC

How to Meet the Growing Demands on IT:

Version Control Your Jenkins Jobs with Jenkins Job Builder

Bluebonnet Electric Cooperative Streamlines AP Process

ACCELERATE DEVOPS USING OPENSHIFT PAAS

depl Documentation Release depl contributors

OpenShift. Marek Jelen, OpenShift, Red Hat

Transcription:

Using DevOps Tools to Achieve Continuous Integration

Speakers Kyle Kelley Developer Support Engineer @rgbkrk Ryan Richard, RHCA DevOps Automation Team Lead @rackninja RACKSPACE HOSTING WWW.RACKSPACE.COM 2 2

First, a precursor RACKSPACE HOSTING WWW.RACKSPACE.COM 3

Why are we here? We are all building up similar systems Similar configurations, minor tweaks Want: More time for applications and business Less time doing SysOps RACKSPACE HOSTING WWW.RACKSPACE.COM 4

Keep Deploying! Let s keep that product going Let s keep delivering! RACKSPACE HOSTING WWW.RACKSPACE.COM 5

What can we do? Write tests Use Continuous Integration Use version control, particularly git RACKSPACE HOSTING WWW.RACKSPACE.COM 6

Let s Test! RACKSPACE HOSTING WWW.RACKSPACE.COM 7

RACKSPACE HOSTING WWW.RACKSPACE.COM 8

RACKSPACE HOSTING WWW.RACKSPACE.COM

Downtime Object Placeholder It s going to happen Assume failure Have a rollback strategy - for your application RACKSPACE HOSTING WWW.RACKSPACE.COM 10

Testing with Open Source Tools 11

RACKSPACE HOSTING WWW.RACKSPACE.COM 12

Minimal.travis.yml language: python python: 2.6 2.7 3.2 3.3 # install dependencies install: pip install. # run tests script: nosetests RACKSPACE HOSTING WWW.RACKSPACE.COM 13

RACKSPACE HOSTING WWW.RACKSPACE.COM RACKSPACE HOSTING WWW.RACKSPACE.COM 14 17

Need more build power? 15

How the DevOps Automation Service tests our cookbooks RACKSPACE HOSTING WWW.RACKSPACE.COM 17

Practical examples with Chef Our pipeline for testing cookbooks Testing your chef powered infrastructure RACKSPACE HOSTING WWW.RACKSPACE.COM 18

Our CI pipeline for Chef cookbooks Jenkins CI server

Our CI pipeline for Chef cookbooks Jenkins Rake CI server Workflow

Our CI pipeline for Chef cookbooks Jenkins Rake CI server Workflow Ruby Syntax/lint

Our CI pipeline for Chef cookbooks Jenkins Rake CI server Workflow Ruby Syntax/lint Foodcritic Chef Syntax/lint

Our CI pipeline for Chef cookbooks Jenkins Rake CI server Workflow Ruby Syntax/lint Foodcritic Chefspec Chef Syntax/lint Unit test

Our CI pipeline for Chef cookbooks Jenkins Rake CI server Workflow Ruby Syntax/lint Foodcritic Chefspec Test-kitchen + serverspec Chef Syntax/lint Unit test Functional tests

Our CI pipeline for Chef cookbooks Jenkins Rake CI server Workflow Ruby Syntax/lint Foodcritic Chefspec Test-kitchen + serverspec Thor Human/automated Chef Syntax/lint Unit test Functional tests Post Steps Final

Two modes of application delivery Build an application cookbook that can deploy latest version of the application/artifact (chef specific) Webhook Cookbook Python Supervisord Mongo RACKSPACE HOSTING WWW.RACKSPACE.COM 26

Two modes of application delivery Build an application cookbook that can deploy latest version of the application/artifact (chef specific) Webhook Cookbook Python Supervisord Mongo External workflow for application delivery (Capistrano, fabric, etc). RACKSPACE HOSTING WWW.RACKSPACE.COM 27

Application Cookbook Workflow Jenkins Rake CI server Workflow Ruby Syntax/lint Foodcritic Chefspec Chef Syntax/lint Unit test

Application Cookbook Workflow Jenkins Rake CI server Workflow Ruby Syntax/lint Foodcritic Chefspec Test-kitchen + serverspec Do not destroy instance Chef Syntax/lint Unit test Functional tests

Application Cookbook Workflow Jenkins Rake CI server Workflow Ruby Syntax/lint Foodcritic Chefspec Test-kitchen + serverspec Do not destroy instance Jenkins steps or additional jobs: Integration tests, load tests, user tests, etc Human/automated Chef Syntax/lint Unit test Functional tests Post Steps Final

Deployment Workflow Model Jenkins Test-kitchen + serverspec Do not destroy instance CI server Chef Workflow

Deployment Workflow Model Jenkins Test-kitchen + serverspec Do not destroy instance Deployment workflow executed CI server Chef Workflow Additional Jobs

Deployment Workflow Model Jenkins Test-kitchen + serverspec Do not destroy instance Deployment workflow executed Integration tests, load tests, user tests, etc. CI server Chef Workflow Additional Jobs Additional Jobs

Deployment Workflow Model Jenkins Test-kitchen + serverspec Do not destroy instance Deployment workflow executed Integration tests, load tests, user tests, etc. Human/automated CI server Chef Workflow Additional Jobs Additional Jobs Final

THANK YOU RACKSPACE HOSTING 1 FANATICAL PLACE SAN ANTONIO, TX 78218 US SALES: 1-800-961-2888 US SUPPORT: 1-800-961-4454 WWW.RACKSPACE.COM RACKSPACE HOSTING RACKSPACE US, INC. RACKSPACE AND FANATICAL SUPPORT ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. WWW.RACKSPACE.COM