forked from galasa-dev/extensions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile.gradle
117 lines (106 loc) · 5.42 KB
/
Jenkinsfile.gradle
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
pipeline {
agent {
label 'codesigning'
}
environment {
// Configure Gradle from the tools definition in Jenkins
def gradleHome = tool 'gradle'
PATH = "${gradleHome}/bin:${env.PATH}:/usr/local/go/bin:${env.PATH}"
//Set some defaults
def workspace = pwd()
}
stages {
stage('prep-workspace') {
steps {
configFileProvider([configFile(fileId: '86dde059-684b-4300-b595-64e83c2dd217', targetLocation: 'settings.xml'),
configFile(fileId: 'galasa-gradle-properties', targetLocation: '.gradle/gradle.properties'),
configFile(fileId: 'galasa-init-gradle', targetLocation: '.gradle/init.gradle')]) {
}
dir('repository/dev.galasa') {
deleteDir()
}
dir('repository/dev/galasa') {
deleteDir()
}
}
}
stage('prep-npm') {
environment {
CREDS = credentials('galasa-nexus')
}
steps {
sh "npm set _auth \$(echo -n '$CREDS_USR:$CREDS_PSW' | openssl base64)"
}
}
stage('maven') {
// Unavoidable until all other projects are no longer dependent on using galasa-parent pom.xml as a parent.
steps {
withCredentials([string(credentialsId: 'galasa-gpg', variable: 'GPG')]) {
withFolderProperties { withSonarQubeEnv('GalasaSonarQube') {
dir('galasa-extensions-parent') {
sh "mvn --settings ${workspace}/settings.xml -Dmaven.repo.local=${workspace}/repository -Dgpg.skip=${GPG_SKIP} -Dgpg.passphrase=$GPG -P ${MAVEN_PROFILE} -B -e -fae --non-recursive ${MAVEN_GOAL}"
}
}}
}
}
}
stage('Extensions Gradle') {
steps {
withCredentials([
string(credentialsId: 'galasa-gpg', variable: 'GPG'),
usernamePassword(credentialsId: 'galasa-nexus', usernameVariable: 'MAVENUSERNAME', passwordVariable: 'MAVENPASSWORD'),
usernamePassword(credentialsId: 'gradle-cache', usernameVariable: 'CACHEUSERNAME', passwordVariable: 'CACHEPASSWORD')
]) {
withFolderProperties {
dir('galasa-extensions-parent') {
sh "gradle -s -Dgradle.user.home=${workspace}/.gradle ${GRADLE_CACHE} ${GRADLE_TASKS}"
}
dir('galasa-extensions-parent/dev.galasa.extensions.obr') {
// sh "gradle -s -Dgradle.user.home=${workspace}/.gradle -Psigning.gnupg.keyName=8534E695 -Psigning.gnupg.passphrase=$GPG ${GRADLE_CACHE} genobr ${GRADLE_TASKS} --rerun-tasks --refresh-dependencies"
sh "mvn --settings ${workspace}/settings.xml -Dmaven.repo.local=${workspace}/repository -Dgpg.skip=${GPG_SKIP} -Dgpg.passphrase=$GPG -P ${MAVEN_PROFILE} -B -e -fae --non-recursive ${MAVEN_GOAL}"
}
}
}
}
}
stage('Eclipse Maven') {
steps {
withCredentials([string(credentialsId: 'galasa-gpg', variable: 'GPG')]) {
withFolderProperties { withSonarQubeEnv('GalasaSonarQube') {
dir('galasa-eclipse-parent') {
sh "mvn --settings ${workspace}/settings.xml -Dmaven.repo.local=${workspace}/repository -Dgpg.skip=${GPG_SKIP} -Dgpg.passphrase=$GPG -P ${MAVEN_PROFILE} -B -e -fae --non-recursive ${MAVEN_GOAL}"
dir('dev.galasa.eclipse') {
sh "mvn --settings ${workspace}/settings.xml -Dmaven.repo.local=${workspace}/repository -Djarsigner.skip=${env.SIGN_SKIP} -Dgpg.skip=${GPG_SKIP} -Dgpg.passphrase=$GPG -P ${MAVEN_PROFILE} -B -e -fae --non-recursive ${MAVEN_GOAL}"
}
dir('dev.galasa.eclipse.feature') {
sh "mvn --settings ${workspace}/settings.xml -Dmaven.repo.local=${workspace}/repository -Djarsigner.skip=${env.SIGN_SKIP} -Dgpg.skip=${GPG_SKIP} -Dgpg.passphrase=$GPG -P ${MAVEN_PROFILE} -B -e -fae --non-recursive ${MAVEN_GOAL}"
}
}
} }
}
}
}
stage('Kubernetes Operator') {
steps {
withCredentials([string(credentialsId: 'galasa-gpg', variable: 'GPG')]) {
withFolderProperties { withSonarQubeEnv('GalasaSonarQube') {
dir('galasa-ecosystem-kubernetes-operator') {
sh "operator-sdk generate crds"
sh "operator-sdk generate k8s"
sh "operator-sdk build galasa-ecosystem-kubernetes-operator"
script {
if (env.PULL_REQ == 'true') {
echo 'Skipping docker operator publish'
} else {
sh "docker tag galasa-ecosystem-kubernetes-operator docker.galasa.dev/galasa-ecosystem-kubernetes-operator:${DOCKER_VERSION}"
sh "docker push docker.galasa.dev/galasa-ecosystem-kubernetes-operator:${DOCKER_VERSION}"
}
}
}
}
}
}
}
}
}
}