25
25
*/
26
26
@Library('csm-shared-library') _
27
27
28
- def sleImage = 'artifactory.algol60.net/csm-docker/stable/csm-docker-sle'
29
28
def major
30
29
def minor
31
30
def patch
32
31
def isStable = env.TAG_NAME != null ? true : false
33
- if ( isStable ) {
32
+ if (isStable) {
34
33
(major, minor, patch) = env.TAG_NAME.tokenize('.')
35
- major = major.replaceAll("^v","")
34
+ major = major.replaceAll("^v", "")
36
35
}
37
36
pipeline {
37
+
38
38
agent {
39
- label " metal-gcp-builder"
39
+ label ' metal-gcp-builder'
40
40
}
41
41
42
42
options {
@@ -48,108 +48,64 @@ pipeline {
48
48
49
49
environment {
50
50
NAME = getRepoName()
51
- VERSION = sh(returnStdout: true, script: "git describe --tags | tr -s '-' '~' | tr -d '^v'").trim()
52
- TAG_POINTS_AT_HEAD = sh(returnStdout: true, script: "git tag --points-at HEAD | tr -d '^v'").trim()
51
+ BUILD_DIR = "${env.WORKSPACE}/dist/rpmbuild/"
52
+ SPEC_FILE = "${env.NAME}.spec"
53
+ VERSION = sh(returnStdout: true, script: "git describe --tags | tr -s '-' '~' | sed 's/^v//'").trim()
54
+ TAG_POINTS_AT_HEAD = sh(returnStdout: true, script: "git tag --points-at HEAD | sed 's/^v//'").trim()
53
55
ADDITIONAL_VERSIONS = "${env.VERSION == env.TAG_POINTS_AT_HEAD ? 'latest' : ''}"
54
56
SLACK_CHANNEL_ALERTS = "csm-release-alerts"
55
57
}
56
58
57
59
stages {
58
60
59
- stage('Build & Publish') {
60
-
61
- matrix {
62
-
63
- agent {
64
- docker {
65
- label 'docker'
66
- reuseNode true
67
- image "${sleImage}:${sleVersion}"
68
- args "-v /home/jenkins/.ssh:/home/jenkins/.ssh"
69
- }
70
- }
71
-
72
- axes {
73
- axis {
74
- name 'sleVersion'
75
- values 15.3, 15.4
61
+ stage('Prepare: RPMs') {
62
+ steps {
63
+ withCredentials([gitUsernamePassword(credentialsId: 'jenkins-algol60-cray-hpe-github-integration')]) {
64
+ sh "echo ${env.BRANCH_NAME}"
65
+ sh "env"
66
+ sh "make prepare"
67
+ dir("${env.BUILD_DIR}/SPECS/") {
68
+ runLibraryScript("addRpmMetaData.sh", "${env.SPEC_FILE}")
76
69
}
77
70
}
71
+ }
72
+ }
78
73
79
- environment{
80
- BUILD_DIR = "${env.WORKSPACE}/dist/rpmbuild/${sleVersion}"
81
- SPEC_FILE = "${env.NAME}-${sleVersion}.spec"
74
+ stage('Build: RPMs') {
75
+ steps {
76
+ withCredentials([gitUsernamePassword(credentialsId: 'jenkins-algol60-cray-hpe-github-integration')]) {
77
+ sh "make rpm"
82
78
}
79
+ }
80
+ }
83
81
84
- stages {
85
-
86
- stage('Prepare: RPMs') {
87
- steps {
88
- withCredentials([gitUsernamePassword(credentialsId: 'jenkins-algol60-cray-hpe-github-integration')]) {
89
- sh "cp ${env.NAME}.spec ${env.SPEC_FILE}"
90
- sh "echo ${env.BRANCH_NAME}"
91
- sh "env"
92
- sh "make prepare"
93
- dir("${env.BUILD_DIR}/SPECS/") {
94
- runLibraryScript("addRpmMetaData.sh", "${env.SPEC_FILE}")
95
- }
96
- }
97
- }
98
- }
99
-
100
- stage('Build: RPMs') {
101
- steps {
102
- withCredentials([gitUsernamePassword(credentialsId: 'jenkins-algol60-cray-hpe-github-integration')]) {
103
- sh "make rpm"
104
- }
105
- }
106
- }
107
-
108
- stage('Publish: RPMs') {
109
- steps {
110
- script {
111
- if( isStable ){
112
- RELEASE_FOLDER = "/${major}.${minor}"
113
- } else {
114
- RELEASE_FOLDER = ""
115
- }
116
- ADDITIONAL_VERSIONS = ("${env.ADDITIONAL_VERSIONS}" == "null") ? [] : ["${env.ADDITIONAL_VERSIONS}"]
117
- def sles_version_parts = "${sleVersion}".tokenize('.')
118
- def sles_major = "${sles_version_parts[0]}"
119
- def sles_minor = "${sles_version_parts[1]}"
120
- publishCsmRpms(
121
- additionalVersions: ADDITIONAL_VERSIONS,
122
- arch: "noarch",
123
- component: env.NAME + RELEASE_FOLDER,
124
- isStable: isStable,
125
- os: "sle-${sles_major}sp${sles_minor}",
126
- pattern: "dist/rpmbuild/${sleVersion}/RPMS/noarch/*.rpm",
127
- )
128
- publishCsmRpms(
129
- additionalVersions: ADDITIONAL_VERSIONS,
130
- arch: "src",
131
- component: env.NAME + RELEASE_FOLDER,
132
- isStable: isStable,
133
- os: "sle-${sles_major}sp${sles_minor}",
134
- pattern: "dist/rpmbuild/${sleVersion}/SRPMS/*.rpm",
135
- )
136
- }
137
- }
82
+ stage('Publish: RPMs') {
83
+ steps {
84
+ script {
85
+ if (isStable) {
86
+ RELEASE_FOLDER = "/${major}.${minor}"
87
+ } else {
88
+ RELEASE_FOLDER = ""
138
89
}
90
+ ADDITIONAL_VERSIONS = ("${env.ADDITIONAL_VERSIONS}" == "null") ? [] : ["${env.ADDITIONAL_VERSIONS}"]
91
+ publishCsmRpms(
92
+ additionalVersions: ADDITIONAL_VERSIONS,
93
+ arch: "noarch",
94
+ component: env.NAME + RELEASE_FOLDER,
95
+ isStable: isStable,
96
+ os: "noos",
97
+ pattern: "dist/rpmbuild/RPMS/noarch/*.rpm",
98
+ )
99
+ publishCsmRpms(
100
+ additionalVersions: ADDITIONAL_VERSIONS,
101
+ arch: "src",
102
+ component: env.NAME + RELEASE_FOLDER,
103
+ isStable: isStable,
104
+ os: "noos",
105
+ pattern: "dist/rpmbuild/SRPMS/*.rpm",
106
+ )
139
107
}
140
108
}
141
109
}
142
110
}
143
- post {
144
- failure {
145
- script {
146
- slackSend(channel: env.SLACK_CHANNEL_ALERTS, color: "danger", message: "<${env.BUILD_URL}|DOCS-CSM ${env.VERSION}> - :x: Build did not complete successfully")
147
- }
148
- }
149
- aborted {
150
- script {
151
- slackSend(channel: env.SLACK_CHANNEL_ALERTS, color: "warning", message: "<${env.BUILD_URL}|DOCS-CSM ${env.VERSION}> - :warning: Job was aborted")
152
- }
153
- }
154
- }
155
- }
111
+ }
0 commit comments