forked from SonarSource/sonar-auth-saml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
72 lines (68 loc) · 1.98 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
@Library('[email protected]') _
pipeline {
agent {
label 'linux'
}
parameters {
string(name: 'GIT_SHA1', description: 'Git SHA1 (provided by travisci hook job)')
string(name: 'CI_BUILD_NAME', defaultValue: 'sonar-auth-saml', description: 'Build Name (provided by travisci hook job)')
string(name: 'CI_BUILD_NUMBER', description: 'Build Number (provided by travisci hook job)')
string(name: 'GITHUB_BRANCH', defaultValue: 'master', description: 'Git branch (provided by travisci hook job)')
string(name: 'GITHUB_REPOSITORY_OWNER', defaultValue: 'SonarSource', description: 'Github repository owner(provided by travisci hook job)')
}
environment {
SONARSOURCE_QA = 'true'
JDK_VERSION = 'Java 11'
}
stages {
stage('Notify') {
steps {
sendAllNotificationQaStarted()
}
}
stage('LTS') {
agent {
label 'linux'
}
environment {
SONARSOURCE_QA = 'true'
JDK_VERSION = 'Java 11'
}
steps {
runGradle "LATEST_RELEASE[7.9]"
}
}
stage('Promote') {
steps {
repoxPromoteBuild()
}
post {
always {
sendAllNotificationPromote()
}
}
}
}
post {
always {
sendAllNotificationQaResult()
}
}
}
def runGradle(String sqRuntimeVersion) {
withJava(JDK_VERSION) {
withQAEnv {
sh "./gradlew -DbuildNumber=${params.CI_BUILD_NUMBER} -Dsonar.runtimeVersion=${sqRuntimeVersion} " +
"-Dorchestrator.artifactory.apiKey=${env.ARTIFACTORY_PRIVATE_API_KEY} --console plain --no-daemon --info build"
}
}
}
def withQAEnv(def body) {
checkout scm
withCredentials([string(credentialsId: 'ARTIFACTORY_PRIVATE_API_KEY', variable: 'ARTIFACTORY_PRIVATE_API_KEY'),
usernamePassword(credentialsId: 'ARTIFACTORY_PRIVATE_USER', passwordVariable: 'ARTIFACTORY_PRIVATE_PASSWORD', usernameVariable: 'ARTIFACTORY_PRIVATE_USERNAME')]) {
wrap([$class: 'Xvfb']) {
body.call()
}
}
}