Jenkins Evolutions

Embed Size (px)

DESCRIPTION

Jenkins Evolutions. Toomas Römer ZeroTurnaround Tartu, Estonia, 5500miles @ toomasr http://dow.ngra.de/. Why Evolutions?. Testing. Why Evolutions?. Continuous Integration. Why Evolutions?. Continuous Deployment. Why Evolutions?. Workflow management Trigger jobs Join jobs - PowerPoint PPT Presentation

Text of Jenkins Evolutions

Title of talk

Jenkins EvolutionsToomas RmerZeroTurnaroundTartu, Estonia, 5500miles@toomasrhttp://dow.ngra.de/

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf My usual Elbonia/Estonia introduction1Why Evolutions?Testing Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Why Evolutions?Continuous Integration

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Why Evolutions?Continuous Deployment Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Why Evolutions?Workflow managementTrigger jobsJoin jobsBuilding softwareTesting buildsPropagating DVCS repositoriesUpdating websiteChangelogDocumentationNightly buildsRelease management Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Why Evolutions?AuthenticationAuthorizationLoggingNotificationsRemote machines Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Why Evolutions?

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Why Evolutions?Cron on Steroids Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf AgendaBackground

StoriesFunctional TestsServlet TestsRandom Thoughts Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf 9Background - 2008First installation

Clicked Run when wanted to test stuff Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Background - 2011200 jobs

5 dedicated machines

Amazon ~7000 instance-hour per month

3 in house plugins developed, 2 abandoned

Custom dashboard (35 x 215 grid)

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Custom Dashboard

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Story of Functional Tests Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK Tests

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK Tests

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsPer JDKPer functional testCompile couple of classesRun some methods and assertRecompile couple of classesRun some methods and assert

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsWhich Jenkins feature is the best fit here? Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK Tests

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsCreates about 10 000 new files

Compile about 1700 Java class files

Invoke the JVM 550 times

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsGroovy Script

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK Tests

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsHow to get test results? Jenkins feature Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK Tests

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsSloooow Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsIO

CPU

Memory Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK Tests

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsCloud1 small instance per JDK

Manual update of AMIs

Slow

Scales! Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsWhich Jenkins plugin to use? Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsWhich Jenkins plugin to use for results? Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Functional JDK TestsSSD30% gain in time, thats it Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Story of Servlet Tests Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Servlet testsStart a container versionWebsphere, Weblogic, Glassfish etc.

Deploy applications

Test results, reload changes, test results

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Dynamic startup scripts why not show a demo?Deploy applications get stats from Rein32Servlet Tests

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Servlet TestsInterface aliases Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Servlet Tests 1 server, 2 jobsWhich Jenkins feature to use? Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Servlet Tests 1 server, 2 jobs

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf ServletTests 1 server, 2 jobs

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf ServletTestsDeployment Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Servlet testStart TomcatCopy WAR files to webapps/

GET /some-urlAssertUpdate applicationGET /some-urlAssert

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Sloooow Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Servlet testsMemory

IO

CPU Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf 41Testing Multiple ContainersCloud1 Small instance per Container

Need to update AMIs

Slow

Isolation

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Single MachinePort Hell

Memory Limits

Speed Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Story of DVCS Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Dev and stableContinuous integrationSlow feedback cycle

Red results

Envs impossible to duplicate Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Dev and stable2 phase continuous integrationSubset of the full test suite

On success propagate to stablehg push

Run full test suite

Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf General observationsFight for executorsDont do multiple releases on the same day

Optimum utilization

Feedback should be quick Jenkins User ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf Thank You To Our Sponsors

PlatinumSponsorGoldSponsorSilverSponsorBronzeSponsors

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 ConferenceSan Francisco, Oct 2nd 2011 #jenkinsconf