©2013 CloudBees, Inc. All Rights Reserved 1 Next Step in Automation: Elastic Build Environment Kohsuke Kawaguchi / CloudBees, Inc.

Slides:



Advertisements
Similar presentations
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
Advertisements

Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware.
EHarmony in Cloud Subtitle Brian Ko. eHarmony Online subscription-based matchmaking service Available in United States, Canada, Australia and United Kingdom.
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Red Hat on Jenkins: By the numbers Nam Duong Red Hat, Inc.
Profit from the cloud TM Parallels Dynamic Infrastructure AndOpenStack.
System Optimization Agent Procedures using Kaseya Developed By: Jason Aparcana Advisor : Dr. S. Masoud Sadjadi School of Computing and Information Sciences.
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Jenkins & the Cloud A Match Made in Heaven Ryan Campbell Kohsuke.
Jenkins User Conference Jenkins User Conference San Francisco, Sept #jenkinsconf Using Jenkins in the Enterprise and the Cloud Mark Prichard Kohsuke.
Useful Tools for Testing
Wellcome Trust Centre for Gene Regulation & Expression College of Life Sciences, University of Dundee Dundee, Scotland, UK Continuous Integration 0.
To run the program: To run the program: You need the OS: You need the OS:
Continuous Integration after Hudson, CruiseControl, and Home Built Mile High Agile 2011 – Mark Waite.
Deploying Moodle with Red Hat Enterprise Virtualization Brian McSpadden Director of Network Operations Remote-Learner.net.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Addressing Key Challenges with Viral Adoption of Jenkins Sacha.
PHP, QA, and Jenkins Eric Cope June 25, 2013
Extending the Discovery Environment: Tool Integration and Customization.
Introduction to VMware Virtualization
Creating an EC2 Provisioning Module for VCL Cameron Mann & Everett Toews.
Jenkins User Conference Jenkins User Conference Palo Alto, Oct 23 Jenkins: State of Union
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
Continuous Integration Mile High Agile 2012 – Mark Waite 3 April 2012.
CSS Build and Update System Kunal Shroff EPICS Spring Collaboration Meeting, June 2010 Aix-en-Provence.
| nectar.org.au NECTAR TRAINING Module 1 Overview of cloud computing and NeCTAR services.
CoprHD and OpenStack Ideas for future.
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
Grid Appliance The World of Virtual Resource Sharing Group # 14 Dhairya Gala Priyank Shah.
Lecture XIII: Continuous Integration CS 4593 Cloud-Oriented Big Data and Software Engineering.
VM vs Container Xen, KVM, VMware, etc. Hardware emulation / paravirtualization Can run different OSs on the same box Dozens of instances OS sprawl problem.
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
Extending the Discovery Environment: Tool Integration and Customization.
Tools for Collaborative Software Development Nishant Garg.
#msitconf. Damien Caro Technical Evangelist Manager, Что будет, если приложение поместить в контейнер? What happens if the application.
© 2010 VMware Inc. All rights reserved Why Virtualize? Beng-Hong Lim, VMware, Inc.
Reduce DevOps Friction with Docker & Jenkins Andy Pemberton Solution Architecture & Consulting, CloudBees.
Intro To Virtualization Mohammed Morsi
Introduction Aaron Day ● Software Architect ● Open Solutions Interests and Hobbies ● Family ● Software Development ● Woodworking ● Gaming ● Shooting.
Getting Started as an EdgeX Developer
Alfresco Software Provisioning Kit
Virtualization.
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Infrastructure Orchestration to Optimize Testing
Perforce Birds of a Feather
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
Getting Started as an EdgeX Developer
Logo here Module 3 Microsoft Azure Web App. Logo here Module Overview Introduction to App Service Overview of Web Apps Hosting Web Applications in Azure.
Lecture 24 Virtual Machine Monitors
Containers and Virtualisation
Drupal VM and Docker4Drupal For Drupal Development Platform
DevOps Deep Dive DevOps Deep Dive What you will learn
Integration of Singularity With Makeflow
What is an Operating System?
Windows Server & Hyper-V Containers Vaggelis Kappas
Microsoft Connect /18/ :32 PM
Group 8 Virtualization of the Cloud
Git it Done with Team Foundation Server
Drupal VM and Docker4Drupal as Consistent Drupal Development Platform
Coding in the Cloud This slide deck includes recorded video demonstrations of content from the live presentation. Joon-Yee.
Chapter 2. Malware Analysis in VMs
Overview Introduction VPS Understanding VPS Architecture
slides borrowed and adapted from Alex Mariakis and CSE 390a
Continuous deployment best practices, methods and tools.
Openstack-alapú privát felhő üzemeltetés
Virtual Operating Systems
SIMCLOUD: Running Operational Simulators in the Cloud
Continuous Integration Tool
Open Source Continuous Integration System
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Deploying machine learning models at scale
Presentation transcript:

©2013 CloudBees, Inc. All Rights Reserved 1 Next Step in Automation: Elastic Build Environment Kohsuke Kawaguchi / CloudBees, Inc. Jesse Glick / CloudBees, Inc.

©2013 CloudBees, Inc. All Rights Reserved 2 Have You Met Jenkins?

©2013 CloudBees, Inc. All Rights Reserved 3

4

5

6 My Jenkins around 2006

©2013 CloudBees, Inc. All Rights Reserved 7

8

9

©2013 CloudBees, Inc. All Rights Reserved 10 If only we had more computers… Just building & testing them all… Running tests more frequently Testing individual commits

©2013 CloudBees, Inc. All Rights Reserved 11

©2013 CloudBees, Inc. All Rights Reserved 12 Just enough computers just in time Elasticity

©2013 CloudBees, Inc. All Rights Reserved 13 My Jenkins around 2007

©2013 CloudBees, Inc. All Rights Reserved 14

©2013 CloudBees, Inc. All Rights Reserved 15

©2013 CloudBees, Inc. All Rights Reserved 16

©2013 CloudBees, Inc. All Rights Reserved 17

©2013 CloudBees, Inc. All Rights Reserved 18

©2013 CloudBees, Inc. All Rights Reserved 19 Just enough computers of the right kind just in time Elasticity!

©2013 CloudBees, Inc. All Rights Reserved 20

©2013 CloudBees, Inc. All Rights Reserved 21 Correct answer Test assumes a fixture running on port 8080 –Doesn’t check if it’s already being used If another test runs at the same time…?

©2013 CloudBees, Inc. All Rights Reserved 22

©2013 CloudBees, Inc. All Rights Reserved 23 Correct answer Because of “pkill -f -9 tomcat” cleanup

©2013 CloudBees, Inc. All Rights Reserved 24

©2013 CloudBees, Inc. All Rights Reserved 25 Isolation At odds with large multi-core systems x86 virtual machines User isolation Kernel containers

©2013 CloudBees, Inc. All Rights Reserved 26

©2013 CloudBees, Inc. All Rights Reserved 27

©2013 CloudBees, Inc. All Rights Reserved 28 Correct answer Same Maven ID, two different jars Different projects designate different ones Local cache gets cleaned up periodically Whichever first runs after cache cleanup “wins”

©2013 CloudBees, Inc. All Rights Reserved 29

©2013 CloudBees, Inc. All Rights Reserved 30 Correct answer Test script leaves background daemon process behind Over time it’ll slowly choke slaves

©2013 CloudBees, Inc. All Rights Reserved 31

©2013 CloudBees, Inc. All Rights Reserved 32 Throw away & create new Elasticity!

©2013 CloudBees, Inc. All Rights Reserved 33

©2013 CloudBees, Inc. All Rights Reserved 34 Ladder to Cloud

©2013 CloudBees, Inc. All Rights Reserved 35 Solid OSS Elasticity Plugins EC2 plugin Jclouds plugin –OpenStack, CloudStack Launch and tear down slaves on demand

©2013 CloudBees, Inc. All Rights Reserved 36 VMWare auto-scaling plugin Snapshot Power on-off management Hypervisor-aware scheduling Folder based pooling VMWare tools integration One-time use support

©2013 CloudBees, Inc. All Rights Reserved 37 Host that runs Docker Docker plugin

©2013 CloudBees, Inc. All Rights Reserved 38 Mansion Slave CloudBees

©2013 CloudBees, Inc. All Rights Reserved 39 Maven Git Ant Mercurial Gradle Subversion Linux Kernel Hardware Linux Container = zero cost virtualization

©2013 CloudBees, Inc. All Rights Reserved 40 For OS X Maven Git XCode Git XCode Subversion OS X QEMU Linux Kernel Apple Hardware

©2013 CloudBees, Inc. All Rights Reserved 41 Kernel Same-page Merging OS X

©2013 CloudBees, Inc. All Rights Reserved 42

©2013 CloudBees, Inc. All Rights Reserved 43 Mansion Slave Workspace 1 Workspace 2 Workspace 3 Workspace 4

©2013 CloudBees, Inc. All Rights Reserved 44 Slave Workspace Workspace’’ Workspace’

©2013 CloudBees, Inc. All Rights Reserved 45 Slave ~/.m2/repository

©2013 CloudBees, Inc. All Rights Reserved 46 Parallel Testing Test Group #1Test Group #2Test Group #3

©2013 CloudBees, Inc. All Rights Reserved 47 Parallel Testing foo #10 Test Group #1 foo #11 Test Group #2 foo #12 Test Goup #3

©2013 CloudBees, Inc. All Rights Reserved 48 Validated Merge upstream repo upstream repo gate repo gate repo

©2013 CloudBees, Inc. All Rights Reserved 49

©2013 CloudBees, Inc. All Rights Reserved 50 Workflow System Alternative to “freestyle” projects Scripted control flow Resumable execution across restarts All-in-one build/test/deploy pipelines Under active development

©2013 CloudBees, Inc. All Rights Reserved 51 Workflow with Elastic Slaves One-line provisioning from cloud Language-level parallelism Run commands, archive files, test results Now integrates with parallel test plugin

©2013 CloudBees, Inc. All Rights Reserved 52

©2013 CloudBees, Inc. All Rights Reserved 53 Conclusion: Elasticity Benefits Just-in-time capacity Diversity without overhead Isolation Productivity gain –parallel testing –validated merge –workflow

©2013 CloudBees, Inc. All Rights Reserved 54

©2013 CloudBees, Inc. All Rights Reserved 55 © Kurt Löwenstein Educational Center International Team Creative Commons Attribution 2.0 Generic

©2013 CloudBees, Inc. All Rights Reserved 56

©2013 CloudBees, Inc. All Rights Reserved 57 Device Cloud

©2013 CloudBees, Inc. All Rights Reserved 58