40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you...
Transcript of 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you...
![Page 1: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/1.jpg)
40 Jenkins features and plugins you
wished you had known about before!
Joep Weijers (TOPdesk)
![Page 2: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/2.jpg)
https://snyk.io/blog/jvm-ecosystem-report-2018-tools
Which CI server do you use?
![Page 3: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/3.jpg)
https://wiki.jenkins.io/display/JENKINS/Logo
![Page 4: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/4.jpg)
https://medium.com/@ricardoespsanto/jenkins-is-dead-long-live-concourse-ce13f94e4975
![Page 5: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/5.jpg)
Used with permission from Cloudbees
![Page 6: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/6.jpg)
(1)Set-up:
Use docker
![Page 7: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/7.jpg)
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key
| sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable
binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
![Page 8: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/8.jpg)
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key
| sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable
binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
![Page 9: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/9.jpg)
docker run -p 8080:8080 -p 50000:50000 \
-v $PWD/jenkins:/var/jenkins_home \
jenkins/jenkins:lts
![Page 10: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/10.jpg)
docker run -p 8080:8080 -p 50000:50000 \
-v $PWD/jenkins:/var/jenkins_home \
jenkins/jenkins:lts
***********************************************
Please use the following password to proceed to installation:
06ac817e24324166880761bae911faf2
![Page 11: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/11.jpg)
(2)Set-up:
Use the jenkins/jenkinsDocker images
![Page 12: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/12.jpg)
DEPRECATED: USE:
Weekly releases
LTS release
![Page 13: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/13.jpg)
(3)Set-up:
First time installer & Plugins
![Page 14: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/14.jpg)
![Page 15: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/15.jpg)
Use this!
![Page 16: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/16.jpg)
![Page 17: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/17.jpg)
(4)Set-up:
Provision your plugins
![Page 18: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/18.jpg)
docker exec -it [containerId] /usr/local/bin/install-
plugins.sh [plugins]
![Page 19: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/19.jpg)
docker exec -it [containerId] /usr/local/bin/install-
plugins.sh [plugins]
http://[jenkinsurl]/safeRestart
![Page 20: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/20.jpg)
FROM jenkins/jenkins:lts
COPY plugins.txt
/usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh
< /usr/share/jenkins/ref/plugins.txt
![Page 21: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/21.jpg)
(5)Set-up:
Configure your plugins using Jenkins Configuration as Code
![Page 22: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/22.jpg)
https://jenkins.io/projects/jcasc/
![Page 23: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/23.jpg)
(6)Set-up:
Don’t do work on the Master, use Agents
![Page 24: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/24.jpg)
![Page 25: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/25.jpg)
![Page 26: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/26.jpg)
![Page 27: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/27.jpg)
![Page 28: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/28.jpg)
![Page 29: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/29.jpg)
(7)Set-up:
Provision agents usingSwarm plugin
![Page 30: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/30.jpg)
https://plugins.jenkins.io/swarm
![Page 31: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/31.jpg)
(8)Set-up:
Automate agent provisioning and make them ephemeral
![Page 32: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/32.jpg)
https://snyk.io/blog/jvm-ecosystem-report-2018-tools
Which build tool do you use for your main project?
![Page 33: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/33.jpg)
(9)Jobs:
Don't use Maven job
![Page 34: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/34.jpg)
![Page 35: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/35.jpg)
![Page 36: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/36.jpg)
(10)Jobs: Pipeline:
Job configuration as code
![Page 37: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/37.jpg)
![Page 38: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/38.jpg)
Jenkinsfile
![Page 39: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/39.jpg)
pipeline {
agent any
stages {
stage('Hello World') {
steps {
sh 'echo Hello world'
}
}
}
}
![Page 40: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/40.jpg)
(11)Jobs: Pipeline:
Stages are groups of steps
![Page 41: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/41.jpg)
stages {
stage('Build’) { … }
stage('Test’) { … }
stage('Deploy') { … }
stage('E2E') { … }
stage('Perf test') { … }
stage('Acc') { … }
stage('Prod') { … }
}
![Page 42: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/42.jpg)
![Page 43: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/43.jpg)
(12)Jobs: Pipeline:
Do work on agents…
![Page 44: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/44.jpg)
pipeline {
agent any
stages {
stage('Hello World') {
steps {
sh 'echo Hello world'
}
}
}
}
![Page 45: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/45.jpg)
pipeline {
agent any
stages {
stage('Hello World') {
steps {
sh 'echo Hello world'
}
}
}
}
![Page 46: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/46.jpg)
(13)Jobs: Pipeline:
Do work on agents…
… unless you’re waiting for user input
![Page 47: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/47.jpg)
![Page 48: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/48.jpg)
pipeline {
agent none
stages {
stage('Do work') {
agent any
steps { … }
}
stage('Input requested') {
agent none
steps {
input message: 'user input'
}
}
![Page 49: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/49.jpg)
pipeline {
agent none
stages {
stage('Do work') {
agent any
steps { … }
}
stage('Input requested') {
agent none
steps {
input message: 'user input'
}
}
![Page 50: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/50.jpg)
pipeline {
agent none
stages {
stage('Do work') {
agent any
steps { … }
}
stage('Input requested') {
agent none
steps {
input message: 'user input'
}
}
![Page 51: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/51.jpg)
pipeline {
agent none
stages {
stage('Do work') {
agent any
steps { … }
}
stage('Input requested') {
agent none
steps {
input message: 'user input'
}
}
![Page 52: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/52.jpg)
(14)Jobs: Pipeline:
Docker image as agent
![Page 53: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/53.jpg)
pipeline {
agent {
docker { image 'node:7-alpine' }
}
stages {
stage('Test') {
steps {
sh 'node --version'
}
}
}
}
![Page 54: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/54.jpg)
(15)Jobs: Pipeline:
Docker image as agent with persistent storage
![Page 55: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/55.jpg)
pipeline {
agent {
docker {
image 'maven:3-alpine'
args '-v $HOME/.m2:/root/.m2'
}
}
stages {
stage('Build') {
steps {
sh 'mvn -B'
}}}}
![Page 56: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/56.jpg)
(16)Jobs: Pipeline:Stashing files
![Page 57: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/57.jpg)
stage('Build') {
agent any
steps {
checkout scm
sh 'make'
stash includes: '**/target/*.jar', name: 'app'
}
}
stage('Test on Linux') {
agent { label 'linux' }
steps {
unstash 'app'
sh 'make check'
}
}
![Page 58: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/58.jpg)
(17)Jobs: Pipeline:
Locking resources
![Page 59: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/59.jpg)
echo 'Starting'
lock('my-resource-name') {
echo 'I require unique access to the resource'
// any other build will wait until the one locking
// the resource leaves this block
}
echo 'Finish'
![Page 60: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/60.jpg)
(18)Jobs: Pipeline:
Parameters are an option
![Page 61: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/61.jpg)
pipeline {
agent any
parameters {
string(description: 'foo', name: 'bar')
}
environment {
baz = params.bar
}
![Page 62: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/62.jpg)
(19)Jobs: Pipeline:
Parallelism
![Page 63: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/63.jpg)
parallel 'end-to-end-tests’: {
// E2E
}, 'performance-tests’: {
// Perf tests
}
![Page 64: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/64.jpg)
parallel 'end-to-end-tests’: {
// E2E
node('e2e-node'){ … }
}, 'performance-tests’: {
// Perf tests
node('perf-test-node'){ … }
}
![Page 65: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/65.jpg)
def splits = splitTests count(2)
def branches = [:]
for (int i = 0; i < splits.size(); i++) {
def index = i
branches["split${i}"] = {
def exclusions = splits.get(index);
// mvn test excludes exclusions
}
}
parallel branches
![Page 66: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/66.jpg)
stash name: 'sources', includes: 'pom.xml,src/'
def splits = splitTests count(2)
def branches = [:]
for (int i = 0; i < splits.size(); i++) {
def index = i
branches["split${i}"] = {
node('remote') {
unstash 'sources'
def exclusions = splits.get(index);
writeFile file: 'exclusions.txt', text: exclusions.join("\n")
"${tool 'M3'}/bin/mvn -B -Dmaven.test.failure.ignore test"
junit 'target/surefire-reports/*.xml'
}}}
parallel branches
![Page 67: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/67.jpg)
(20)Jobs: Pipeline:
Know the difference between Declarative and Scripted
![Page 68: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/68.jpg)
Declarative Scripted
Easy to use Bit harder due to more Groovy
Concise Boilerplate
Validation before running Try-commit-retry-commit-loop
Visual Editor Groovy editor
![Page 69: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/69.jpg)
Declarative Scripted
Easy to use Bit harder due to more Groovy
Concise Boilerplate
Validation before running Try-commit-retry-commit-loop
Visual Editor Groovy editor
--------------------------------- + --------------------------------- +
Perfect for regular users More flexiblity for power users
![Page 70: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/70.jpg)
(21)Jobs: Pipeline:
Keep your Pipelines small
![Page 71: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/71.jpg)
(22)Jobs: Pipeline: @NonCPS
![Page 72: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/72.jpg)
Continuation-passing style(CPS)
![Page 73: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/73.jpg)
@NonCPS
static def prepareDeploymentYaml(text, binding) {
return new groovy.text.StreamingTemplateEngine()
.createTemplate(text)
.make(binding)
.toString()
}
![Page 74: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/74.jpg)
(23)Jobs: Pipeline:
Aborting Pipelines
![Page 75: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/75.jpg)
![Page 76: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/76.jpg)
![Page 77: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/77.jpg)
![Page 78: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/78.jpg)
(24)Jobs: Pipeline:
Blue ocean GUI
![Page 79: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/79.jpg)
![Page 80: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/80.jpg)
![Page 81: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/81.jpg)
![Page 82: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/82.jpg)
(25)Jobs: Pipeline:
There is a Pipeline editor
![Page 83: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/83.jpg)
![Page 84: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/84.jpg)
(26)Jobs: Pipeline:
Use Shared libraries
![Page 85: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/85.jpg)
Don’t Repeat Yourself!
![Page 86: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/86.jpg)
(27)Jobs: Pipeline:
Use files from shared libraries
![Page 87: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/87.jpg)
(28)Jobs: Pipeline:
Developing your shared libraries
![Page 88: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/88.jpg)
![Page 89: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/89.jpg)
(29)Views:
Build your own view
![Page 90: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/90.jpg)
![Page 91: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/91.jpg)
![Page 92: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/92.jpg)
![Page 93: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/93.jpg)
![Page 94: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/94.jpg)
![Page 95: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/95.jpg)
![Page 96: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/96.jpg)
(30)Views:
Less mails, more Build Monitor
![Page 97: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/97.jpg)
![Page 98: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/98.jpg)
![Page 99: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/99.jpg)
![Page 100: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/100.jpg)
(31)There is an API
![Page 101: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/101.jpg)
[jenkins url]/api/
[jenkins url]/job/myJob/api/
![Page 102: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/102.jpg)
[jenkins url]/user/admin/my-
views/view/MyJobs/api/json?tree=jobs[color]
![Page 103: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/103.jpg)
{
"_class" : "com.smartcodeltd.jenkinsci.plugins.buildmonitor.BuildMonitorView",
"jobs" : [
{
"_class" : "hudson.model.FreeStyleProject",
"color" : "yellow"
},
{
"_class" : "hudson.model.FreeStyleProject",
"color" : "blue"
},
{
"_class" : "org.jenkinsci.plugins.workflow.job.WorkflowJob",
"color" : "blue_anime"
}
]
}
![Page 104: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/104.jpg)
(32)Views:
Extreme feedback
![Page 105: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/105.jpg)
![Page 106: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/106.jpg)
https://techblog.topdesk.com/
![Page 107: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/107.jpg)
(33)Build numbers are more than
integers
![Page 108: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/108.jpg)
http://localhost:8080/job/myJob/4/
![Page 109: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/109.jpg)
![Page 110: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/110.jpg)
http://localhost:8080/job/myJob/lastBuild/
![Page 111: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/111.jpg)
http://localhost:8080/job/myJob/lastBuild/
lastBuild
lastStableBuild
lastSuccessfulBuild
lastFailedBuild
lastUnstableBuild
lastUnsuccessfulBuild
lastCompletedBuild
![Page 112: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/112.jpg)
(34)Jenkins X
![Page 113: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/113.jpg)
https://jenkins-x.io/
![Page 114: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/114.jpg)
(35)Security:
Stay up to date
![Page 115: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/115.jpg)
![Page 116: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/116.jpg)
![Page 117: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/117.jpg)
![Page 118: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/118.jpg)
![Page 119: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/119.jpg)
![Page 120: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/120.jpg)
(36)Security: Warnings: CSRF
crumb
![Page 121: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/121.jpg)
![Page 122: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/122.jpg)
curl -u "admin:admin"
'http://localhost:8080/crumbIssuer/api/xml?xpath=concat(/
/crumbRequestField,":",//crumb)'
![Page 123: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/123.jpg)
curl -u "admin:admin"
'http://localhost:8080/crumbIssuer/api/xml?xpath=concat(/
/crumbRequestField,":",//crumb)'
Jenkins-Crumb:bc22da3c06187f7c042abeb72419d835
![Page 124: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/124.jpg)
curl -u "admin:admin"
'http://localhost:8080/crumbIssuer/api/xml?xpath=concat(/
/crumbRequestField,":",//crumb)'
Jenkins-Crumb:bc22da3c06187f7c042abeb72419d835
curl -X POST -u "admin:admin" -H "Jenkins-
Crumb:bc22da3c06187f7c042abeb72419d835"
http://localhost:8080/job/someJob/build
![Page 125: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/125.jpg)
(37)Security: Warnings: JNLP
![Page 126: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/126.jpg)
![Page 127: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/127.jpg)
(38)Learn about Cloudbees
![Page 128: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/128.jpg)
(39)Enterprise Jenkins:
Cloudbees
![Page 129: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/129.jpg)
![Page 130: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/130.jpg)
(40)My favorite plugins
![Page 131: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/131.jpg)
Build Monitor
Job Config History
Job DSL
Throttle Concurrent Builds
Timestamper
Version number plugin & Build-name-setter
![Page 132: 40 Jenkins features and plugins you wished you had known ... · 40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)](https://reader033.fdocuments.net/reader033/viewer/2022050716/5e1586a3798fd50d39682537/html5/thumbnails/132.jpg)
40 Jenkins features and plugins you
wished you had known about before!
Stack Overflow:
https://stackoverflow.com/questions/tagged/jenkins
Read our TechBlog:
http://techblog.topdesk.com
Twitter:
@joepweijers