Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Dean Yu Yahoo!, Inc. Continuous Integration.

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

Continuous Integration in a Java Environment. Developers / Time.
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Pre-Tested Commits with Jenkins and Reviewboard Yardena Meymann VMware.
13,000 Jobs and counting…. Advertising and Data Platform Our System.
Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Concurrent Versions System Overview of CVS architecture. Repository structure.
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
beas WEB App Installation
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.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Building ontologies using Jenkins. Changing requirements for ontology engineering Original ontology build pipeline – What pipeline? – Life on the bleeding.
BEA Confidential. | 1 Version Control for a Modern World Garrett Rooney, Senior Software Engineer (and Subversion committer), CollabNet Inc. June 2006.
©2013 CloudBees, Inc. All Rights Reserved 1 Jenkins Scalability Summit Oct 2013.
Ellucian Mobile: Don’t text and drive, kids!
Jenkins User Conference Jenkins User Conference San Francisco, Sept #jenkinsconf Using Jenkins in the Enterprise and the Cloud Mark Prichard Kohsuke.
Jenkins User Conference Jenkins User Conference San Francisco, Sept #jenkinsconf Using Jenkins for the build and deployment of.NET applications.
Connect with life Gopikrishna Kannan Program Manager | Microsoft Corporation
The Geant4 physics validation repository
Team Members Jason Bender Derek Crane Cliff Crane Renan Pereira Isidro Arribas.
SaaS, PaaS & TaaS By: Raza Usmani
Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 Extreme Testing with Jenkins and Selenium Jason Huggins CTO,
Configuring PHP on IIS7 Making your application rock on IIS7 Taking advantage of the Windows platform Q&A at Open Space.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Understanding and Managing WebSphere V5
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
16.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 16: Examining Software Update.
SEEM4570: XAMPP, Eclipse, Summary of Html Kangfei Zhao Room 711,ERB
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
By Jeerarat Boonyanit. As you can see I have chosen Cpanel for my server management tool. cPanel is a Linux based web hosting control panel that provides.
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.
Version control Using Git 1Version control, using Git.
Virtual Organization / Collaboration Environment Ann Wyganowski Sept 29, 2011.
Kuali Rice at Indiana University Rice Setup Options July 29-30, 2008 Eric Westfall.
Jenkins User Conference Jenkins User Conference Israel, 06 June 2013 #jenkinsconf Web and Gui Automation with Jenkins Aytunc Beken Turkcell
Subversion Code Deployment LifeCycle August 2011.
Jenkins User Conference Jenkins User Conference Palo Alto, Oct 23 Jenkins: State of Union
MAE Continuous Integration Administration guide July 8th, 2013.
Suite zTPFGI Facilities. Suite Focus Three of zTPFGI’s facilities:  zAutomation  zTREX  Logger.
An Introduction to Progress Arcade ™ June 12, 2013 Rob Straight Senior Manager, OpenEdge Product Management.
Suite zTPFGI Facilities. Suite Focus Three of zTPFGI’s facilities:  zAutomation  zTREX  Logger.
@ For more details visit : Opportunities for participation Modular Architecture Trace JIT compiler Interpreter Memory manager.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
CS 4720 Dynamic Web Applications CS 4720 – Web & Mobile Systems.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
© 2006 Intland Software1 Aron Gombas Architect, Intland Software Extending & customizing CodeBeamer.
Paperless Timesheet Management Project Anant Pednekar.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
ICM – API Server Gary Ratcliffe. 2 Agenda Webinar Programme API Server Overview JSON-RPC iCM API Service API Server and Forms New services under.
1 © Cable Television Laboratories, Inc Do not share this material with anyone other than CableLabs Members, and vendors under CableLabs NDA if applicable.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
Threads. Readings r Silberschatz et al : Chapter 4.
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
© Copyright 2014 TONE SOFTWARE CORPORATION. Confidential and Proprietary. All rights reserved. ® Operator Training – Release Introduction ReliaTel.
Running a production Jenkins instance Harpreet Singh, Senior Director, Product Management Kohsuke Kawaguchi Jenkins founder ©2012 CloudBees, Inc. All Rights.
© 2016 CloudBees, Inc. All Rights Reserved 1 Jenkins 2.0 and Beyond Nigel Harniman, Senior Solution Architect.
Making the Most of a Hybrid Alfresco Solution From Genesys Telecommunications: Michael Katten, Director of Technical Publications Joe McMonagle, Manager.
© 2015 MetricStream, Inc. All Rights Reserved. AWS server provisioning © 2015 MetricStream, Inc. All Rights Reserved. By, Srikanth K & Rohit.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
© 2013 IBM Corporation IBM UrbanCode Deploy v6.0 Support Enablement Training Jenkins plug-in 1 November 2013.
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
4th Forum How to easily offer your application as a self-service template by using OpenShift and GitLab-CI 4th Forum Alberto.
Semiconductor Manufacturing (and other stuff) with Condor
11/23/2018 3:03 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Simplified Development Toolkit
Continuous deployment best practices, methods and tools.
JENKINS TIPS Ideas for making your life with Jenkins easier
Concurrent Versions System
Overview on CI Use JJB (Jenkins Job Builder) to manage Jenkins jobs.
Presentation transcript:

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Dean Yu Yahoo!, Inc. Continuous Integration at Yahoo! © 2011 Yahoo!, Inc. All rights reserved.

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf About Software Yahoo! Multiple language standards: – PHP for web page serving – C/C++/Java for business logic – Perl for lots of other stuff RHEL/FreeBSD Lots of in-house tech – We’ve been around for a while Corporate SSO for all web apps ssh for host to host connections

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf About Yahoo! & Jenkins Yahoo! chooses Hudson as its standard CI server in Q (Hudson 1.252) Maintain a private fork – Integration with internal systems/processes – Disable features that are security concerns Most modifications & plugins are contributed back to the project – CSRF protection – Test result parser API – Configurable Update Center – Subversion exclusion regions – Labeled Test Result Groups plugin – Collapsible Console Sections plugin – Next Build Number plugin

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf About Yahoo! Central team responsible for – Maintaining internal fork – Interacting with Jenkins community Project teams responsible for – Maintaining individual Jenkins instances Standard configuration – Apache + Tomcat – Java 6 – Slaves via ssh

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf The Big Kahuna Master – Multiple CPU cores/64-bit JVM/filer-based storage for JENKINS_HOME – Cold standby for fail-over 10 Slaves – 8 executors per slave/64-bit JVM/local storage 3500 jobs builds per day 950+ users

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Problem: Dashboard Scalability “All” view with small icons equivalent to 62 printed pages 102 view tabs require really wide screens to see

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Solution: Dropdown Tab Views Status: Work in progress (anyone want to help?)

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Problem: SCMChangeLog Memory Consumption SCM change logs are strongly referenced objects With near-constant builds, memory usage can increase 10x over a few hours

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Solution: Patch the core --- hudson/trunk/core/src/main/java/hudson/model/AbstractBuild.java2011/07/14 20:31: hudson/trunk/core/src/main/java/hudson/model/AbstractBuild.java2011/08/12 02:42: ,6 +66,7 import java.io.File; import java.io.IOException; import java.io.StringWriter; +import java.lang.ref.WeakReference; import java.text.MessageFormat; import java.util.AbstractSet; import java.util.ArrayList; -81,6 +82,7 import java.util.logging.Level; import java.util.logging.Logger; + /** * Base implementation of Run}s that build software. * -122,7 +124,7 /** * Changes in this build. */ - private volatile transient ChangeLogSet changeSet; + private volatile transient WeakReference > changeSet; /** * Cumulative list of people who contributed to the build problem. -526, ,10 SCM scm = project.getScm(); AbstractBuild.this.scm = scm.createChangeLogParser(); - AbstractBuild.this.changeSet = AbstractBuild.this.calcChangeSet(); + AbstractBuild.this.changeSet = new WeakReference >(AbstractBuild.this.calcChangeSet()); for (SCMListener l : Hudson.getInstance().getSCMListeners()) - l.onChangeLogParsed(AbstractBuild.this,listener,changeSet); + l.onChangeLogParsed(AbstractBuild.this,listener,getChangeSet()); return; } } catch (AbortException e) { -712, ,17 } - if (changeSet==null) // cached value + if (changeSet == null || changeSet.get() == null) // cached value try { - changeSet = calcChangeSet(); + changeSet = new WeakReference >(calcChangeSet()); } finally { // defensive check. if the calculation fails (such as through an exception), // set a dummy value so that it'll work the next time. the exception will // be still reported, giving the plugin developer an opportunity to fix it. if (changeSet==null) - changeSet=ChangeLogSet.createEmpty(this); + changeSet=new WeakReference >(ChangeLogSet.createEmpty(this)); } - return changeSet; + return changeSet.get(); } /** -1158, ,4 private static final Logger LOGGER = Logger.getLogger(AbstractBuild.class.getName()); } +

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf 3 types of build artifacts Problem: Managing Job Relationships PackagesImagesRelease Definitions jenkins-core jenkins-masteryhudson-2.10 remoting jenkins-slave-bsd subversion-plugin-1.25jenkins-slave-linux gmake-plugin-1.3 cppunit-parser- plugin-1.0.1

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Multiple pipeline paths Problem: Managing Job Relationships package commit package release package commit package release package commit package release image assembly deploy test release definition assembly deploy test release definition assembly

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Solution: Implied Dependencies New versions of artifacts in repositories trigger downstream builds Job relationships established with fingerprints Jenkins-1.429: –-Dhudson.tasks.Fingerprinter.enableFingerprintsInDependencyGraph=true package release image assembly deploy test release definition assembly package repository package repository image repository image repository release definition repository release definition repository

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Problem: Long Console Logs Build logs run to hundreds of printed pages Needles in haystacks

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Solution: Collapsible Console Sections Jump to log sections Section visibility toggle

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Solution: Collapsible Console Sections Configurable section definitions Open sourced – ci.org/display/JENKINS/Collapsing+Console+Se ctions+Plugin

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Problem: Reproducible Build Environments Build environments are images Dedicating slaves per build environment not cost effective

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Solution: Jobs run in chroots slave 1 project A chroot project B chroot project C chroot project D chroot slave 2 project B chroot project D chroot project E chroot project F chroot slave filesystem slave filesystem slave filesystem slave filesystem

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf DONATE TO JENKINS!

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf Thank You To Our Sponsors Platinum Sponsor Gold Sponsor Silver Sponsor Bronze Sponsors Coming Soon: The CloudBees Newsletter for Jenkins Please complete the Jenkins survey to help us better serve the community (bonus: a chance to win an Apple TV!)

Jenkins User Conference Jenkins User Conference San Francisco, Oct 2 nd 2011 #jenkinsconf QUESTIONS