Jenkins Scriptler in 90mins

11
Larry cai <[email protected]>

description

Learn Jenkins Scriptler in 90 minutes

Transcript of Jenkins Scriptler in 90mins

Page 1: Jenkins Scriptler in 90mins

Larry cai <[email protected]>

Page 2: Jenkins Scriptler in 90mins

Agenda What is Jenkins Scriptler ? Exercise 1: Hello World in Jenkins script

console Exercise 2: Hook into Jenkins Exercise 3: Jenkins Java API Exercise 4: Find the needed Jenkins Java

method Exercise 5: Put into Jenkins Scriptler Exercise 6: Learn more Groovy

Jenkins Scriptler in 90 minutes2

Page 3: Jenkins Scriptler in 90mins

Jenkins Scriptler Administering your jenkins scripts, which is

used to trouble-shooting and diagnostics or routing tasks in jenkins

Provides a way to share scripts between users via hosted script catalogs on the internet.

Install plugin

Usehttp://<jenkins job>/scriptler/or

Jenkins -> Scriptler (system menu)

Jenkins Scriptler in 90 minutes3

https://wiki.jenkins-ci.org/display/JENKINS/Scriptler+Plugin

Page 4: Jenkins Scriptler in 90mins

Jenkins script Jenkins script can access to Jenkins instance

data and manipulate directly Jenkins script use Groovy, which is an agile

and dynamic language for the Java Virtual Machine

a.k.a java-like script language over JVM

Jenkins Scriptler in 90 minutes4

Page 5: Jenkins Scriptler in 90mins

Exercise 1 – Hello World Jenkins Console the place to exercise the

Jenkins script

Jenkins Scriptler in 90 minutes5

https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Console

Page 6: Jenkins Scriptler in 90mins

Exercise 2 – Hook into Jenkins Get the jenkins java instance

ji = jenkins.model.Jenkins.instance All the items (include jobs)

jobs = ji.items Printout the job names started with “test”

Jenkins Scriptler in 90 minutes6

Page 7: Jenkins Scriptler in 90mins

Exercise 3: Jenkins Java API Script use jenkins JAVA API to access internal

datahttp://javadoc.jenkins-ci.org/

Jenkins instance is http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html

Then locate “getAllItems()” API

Jenkins Scriptler in 90 minutes7

Page 8: Jenkins Scriptler in 90mins

Exercise 4 – Find the needed method Find the Item API and try to printout the url for

the jobs

If needed, check the source code if java developershttps://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/Item.java

Otherwise Check samples ;-)Jenkins Scriptler in 90 minutes8

Page 9: Jenkins Scriptler in 90mins

Exercise 5: Put into Jenkins Scriptler Now put the scripts into Jenkins Scriptler Id & Name: geturl

Add parameter for “job_prefix”, use “$name”

Jenkins Scriptler in 90 minutes9

Page 10: Jenkins Scriptler in 90mins

Exercise 6: learn more Groovy Install Groovy Console

http://groovy.codehaus.org/ Learn loop syntax

http://groovy.codehaus.org/Looping

List string in closures way

Jenkins Scriptler in 90 minutes10

Page 11: Jenkins Scriptler in 90mins

Reference Market place

http://scriptlerweb.appspot.com/catalog/list https://github.com/jenkinsci/jenkins-scripts/tree/master/

scriptler

Groovy http://groovy.codehaus.org

Small guideline http://earlyandoften.wordpress.com/2013/03/11/

mastering-jenkins-making-bulk-updates-to-jobs/

Jenkins Scriptler in 90 minutes11