forked from statisticsnorway/klass-web
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
58 lines (47 loc) · 1.27 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
pipeline {
agent any
options {
buildDiscarder logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '10')
}
triggers {
pollSCM('H/5 * * * *')
}
tools {
jdk 'Oracle Java 8'
maven 'Maven 3.8.5'
git 'Default'
}
parameters {
booleanParam(name: "RELEASE",
description: "Build a release from current commit.",
defaultValue: false)
}
stages {
stage("Build") {
steps {
sh "mvn -B clean package"
}
}
stage("Make release") {
when {
expression { params.RELEASE }
}
steps {
sshagent(['7042ed72-89a8-417d-8c99-5b33a3ce7462']) {
sh "mvn -B release:prepare release:perform"
}
}
}
stage("Deploy release to Nexus") {
when {
expression { params.RELEASE }
}
steps {
build 'Klass-Web_Deploy_Nexus_UTV'
build 'Klass-Web_Deploy_Nexus_TEST'
build 'Klass-Web_Deploy_Nexus_QA'
build 'Klass-Web_Deploy_Nexus_PROD'
}
}
}
}