132
40 Jenkins features and plugins you wished you had known about before! Joep Weijers (TOPdesk)

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)

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

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)

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://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://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://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)

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)

(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)

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)

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)

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)

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)

(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)

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)

(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)
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)

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)
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)

(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)

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)

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)

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)

(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://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)

(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)
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)
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)
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)
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)
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)

(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://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)

(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://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)

(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)
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)
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)

(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)
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)

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)

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)

(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)

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)
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)

(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)

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)

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)

(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)
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)

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)

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)

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)

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)

(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)

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)

(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)

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)

(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)

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)

(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)

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)

(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)

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)

(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)

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)

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)

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)

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)

(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)

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)

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)

(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)

(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)

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)

@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)

(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)
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)
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)
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)

(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)
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)
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)
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)

(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)
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)

(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)

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)

(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)

(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)
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)

(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)
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)
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)
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)
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)
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)
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)

(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)
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)
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)
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)

(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)

[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)

[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)

{

"_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)

(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)
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://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)

(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)

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)
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)

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)

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)

(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://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)

(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)
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)
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)
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)
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)
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)

(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)
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)

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)

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)

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)

(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)
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)

(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)

(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)
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)

(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)

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)

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