Skip to content

Commit c23bd89

Browse files
jstastny-czjstastny-cz
authored andcommitted
kie-issues#655: fix Jenkinsfile.deploy
1 parent 3754344 commit c23bd89

File tree

2 files changed

+63
-43
lines changed

2 files changed

+63
-43
lines changed

.ci/jenkins/Jenkinsfile.deploy

Lines changed: 61 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ import org.kie.jenkins.MavenStagingHelper
88
deployProperties = [:]
99

1010
optaplannerRepository = 'incubator-kie-optaplanner'
11+
optaplannerFolder = 'optaplanner'
1112
quickstartsRepository = 'incubator-kie-optaplanner-quickstarts'
13+
quickstartsFolder = 'quickstarts'
1214

1315
imageUtils = null
1416

@@ -39,7 +41,7 @@ pipeline {
3941
stage('Initialize') {
4042
steps {
4143
script {
42-
cleanWs()
44+
cleanWs(disableDeferredWipeout: true)
4345

4446
if (params.DISPLAY_NAME) {
4547
currentBuild.displayName = params.DISPLAY_NAME
@@ -75,8 +77,8 @@ pipeline {
7577
stage('Clone repositories') {
7678
steps {
7779
script {
78-
checkoutRepo(optaplannerRepository)
79-
checkoutQuickstarts()
80+
checkoutRepo(optaplannerRepository, optaplannerFolder)
81+
checkoutQuickstarts(quickstartsFolder)
8082
}
8183
}
8284
}
@@ -87,8 +89,8 @@ pipeline {
8789
}
8890
steps {
8991
script {
90-
prepareForPR(optaplannerRepository)
91-
prepareForPR(quickstartsRepository)
92+
prepareForPR(optaplannerFolder)
93+
prepareForPR(quickstartsFolder)
9294
}
9395
}
9496
}
@@ -112,13 +114,16 @@ pipeline {
112114
stage('Build OptaPlanner') {
113115
steps {
114116
script {
115-
getOptaplannerMavenCommand()
116-
.withProperty('maven.test.failure.ignore', true)
117-
.withProperty('operator.image.build')
118-
.skipTests(params.SKIP_TESTS)
119-
.run('clean install')
117+
configFileProvider([configFile(fileId: env.MAVEN_SETTINGS_CONFIG_FILE_ID, variable: 'MAVEN_SETTINGS_FILE')]){
118+
getOptaplannerMavenCommand()
119+
.withProperty('maven.test.failure.ignore', true)
120+
.withProperty('operator.image.build')
121+
.skipTests(params.SKIP_TESTS)
122+
.withSettingsXmlFile(MAVEN_SETTINGS_FILE)
123+
.run('clean install')
124+
}
120125
if (isRelease()) {
121-
updateAntoraYaml(optaplannerRepository)
126+
updateAntoraYaml(optaplannerFolder)
122127
}
123128
}
124129
}
@@ -135,10 +140,13 @@ pipeline {
135140
stage('Build Quickstarts') {
136141
steps {
137142
script {
138-
getOptaplannerQuickstartsMavenCommand()
139-
.withProperty('maven.test.failure.ignore', true)
140-
.skipTests(params.SKIP_TESTS)
141-
.run('clean install')
143+
configFileProvider([configFile(fileId: env.MAVEN_SETTINGS_CONFIG_FILE_ID, variable: 'MAVEN_SETTINGS_FILE')]){
144+
getOptaplannerQuickstartsMavenCommand()
145+
.withProperty('maven.test.failure.ignore', true)
146+
.skipTests(params.SKIP_TESTS)
147+
.withSettingsXmlFile(MAVEN_SETTINGS_FILE)
148+
.run('clean install')
149+
}
142150
}
143151
}
144152
post {
@@ -201,8 +209,8 @@ pipeline {
201209
}
202210
steps {
203211
script {
204-
commitAndCreatePR(optaplannerRepository, getBuildBranch())
205-
commitAndCreatePR(quickstartsRepository, getQuickStartsBranch())
212+
commitAndCreatePR(optaplannerFolder, optaplannerRepository, getBuildBranch())
213+
commitAndCreatePR(quickstartsFolder, quickstartsRepository, getQuickStartsBranch())
206214
}
207215
}
208216
post {
@@ -246,8 +254,7 @@ pipeline {
246254
}
247255
cleanup {
248256
script {
249-
// Clean also docker in case of usage of testcontainers lib
250-
util.cleanNode('docker')
257+
util.cleanNode()
251258
}
252259
}
253260
}
@@ -269,10 +276,10 @@ List getIntegrationTestProfiles() {
269276
void updateQuickstartsVersions() {
270277
maven.mvnSetVersionProperty(getOptaplannerQuickstartsMavenCommand(), 'version.org.optaplanner', getProjectVersion())
271278
maven.mvnVersionsUpdateParentAndChildModules(getOptaplannerQuickstartsMavenCommand(), getProjectVersion(), !isRelease())
272-
gradleVersionsUpdate(quickstartsRepository, getProjectVersion())
279+
gradleVersionsUpdate(quickstartsFolder, getProjectVersion())
273280

274281
if (isRelease()) {
275-
dir(quickstartsRepository) {
282+
dir(quickstartsFolder) {
276283
// TODO: Remove the exclusion after the kubernetes demo is migrated to 9.
277284
assert !sh(script:
278285
'grep -Rn "SNAPSHOT" --include={pom.xml,build.gradle} --exclude-dir=kubernetes | ' +
@@ -281,7 +288,7 @@ void updateQuickstartsVersions() {
281288
}
282289
}
283290
if (isCreatePr()) {
284-
dir(quickstartsRepository) {
291+
dir(quickstartsFolder) {
285292
// TODO: Remove the exclusion after the kubernetes demo is migrated to 9.
286293
assert !sh(script:
287294
'grep -Rn "SNAPSHOT" --include={pom.xml,build.gradle} --exclude-dir=kubernetes | ' +
@@ -291,8 +298,8 @@ void updateQuickstartsVersions() {
291298
}
292299
}
293300

294-
void gradleVersionsUpdate(String repo, String newVersion) {
295-
dir(repo) {
301+
void gradleVersionsUpdate(String folder, String newVersion) {
302+
dir(folder) {
296303
sh "find . -name build.gradle -exec sed -i -E 's/def optaplannerVersion = \"[^\"\\s]+\"/def optaplannerVersion = \"${newVersion}\"/' {} \\;"
297304
}
298305
}
@@ -330,14 +337,14 @@ String getFallbackBranch(String repo) {
330337
return repositoryScm ? params.PR_TARGET_BRANCH : 'main'
331338
}
332339

333-
void prepareForPR(String repo) {
334-
dir(repo) {
340+
void prepareForPR(String folder) {
341+
dir(folder) {
335342
githubscm.createBranch(getPRBranch())
336343
}
337344
}
338345

339-
void commitAndCreatePR(String repo, String buildBranch) {
340-
dir(repo) {
346+
void commitAndCreatePR(String folder, String repo, String buildBranch) {
347+
dir(folder) {
341348
def commitMsg = "[${buildBranch}] Update project version to ${getProjectVersion()}"
342349
def prBody = "Generated by build ${BUILD_TAG}: ${BUILD_URL}."
343350
if (isRelease()) {
@@ -358,38 +365,41 @@ void commitAndCreatePR(String repo, String buildBranch) {
358365
}
359366
}
360367

361-
void commitAndCreatePRIgnoringNpmRegistry(String repo, String buildBranch) {
362-
dir(repo) {
368+
void commitAndCreatePRIgnoringNpmRegistry(String folder, String repo, String buildBranch) {
369+
dir(folder) {
363370
sh 'sed \'s;repository.engineering.redhat.com/nexus/repository/;;\' -i */package-lock.json'
364371
sh 'git add */package-lock.json'
365372
}
366-
commitAndCreatePR(repo, buildBranch)
373+
commitAndCreatePR(folder, repo, buildBranch)
367374
}
368375

369376
MavenCommand getMavenDefaultCommand() {
370-
MavenCommand mvnCmd = new MavenCommand(this, ['-fae', '-ntp']).withSettingsXmlId(env.MAVEN_SETTINGS_CONFIG_FILE_ID)
377+
MavenCommand mvnCmd = new MavenCommand(this, ['-fae', '-ntp'])
371378
if (env.MAVEN_DEPENDENCIES_REPOSITORY) {
372379
mvnCmd.withDependencyRepositoryInSettings('deps-repo', env.MAVEN_DEPENDENCIES_REPOSITORY)
373380
}
374381
return mvnCmd
375382
}
376383

377384
MavenCommand getOptaplannerMavenCommand() {
378-
return getMavenDefaultCommand().inDirectory(optaplannerRepository).withProperty('full')
385+
return getMavenDefaultCommand().inDirectory(optaplannerFolder).withProperty('full')
379386
}
380387

381388
MavenCommand getOptaplannerQuickstartsMavenCommand() {
382-
return getMavenDefaultCommand().inDirectory(quickstartsRepository).withProperty('full')
389+
return getMavenDefaultCommand().inDirectory(quickstartsFolder).withProperty('full')
383390
}
384391

385392
/**
386393
* Builds the parent modules and the BOM so that project depending on these artifacts can resolve.
387394
*/
388395
void mavenCleanInstallOptaPlannerParents() {
389-
getOptaplannerMavenCommand()
390-
.skipTests(true)
391-
.withOptions(['-U', '-pl org.optaplanner:optaplanner-build-parent,org.optaplanner:optaplanner-bom', '-am'])
392-
.run('clean install')
396+
configFileProvider([configFile(fileId: env.MAVEN_SETTINGS_CONFIG_FILE_ID, variable: 'MAVEN_SETTINGS_FILE')]){
397+
getOptaplannerMavenCommand()
398+
.skipTests(true)
399+
.withOptions(['-U', '-pl org.optaplanner:optaplanner-build-parent,org.optaplanner:optaplanner-bom', '-am'])
400+
.withSettingsXmlFile(MAVEN_SETTINGS_FILE)
401+
.run('clean install')
402+
}
393403
}
394404

395405
void runMavenDeploy(MavenCommand mvnCmd, String localDeploymentId = '') {
@@ -401,7 +411,12 @@ void runMavenDeploy(MavenCommand mvnCmd, String localDeploymentId = '') {
401411
mvnCmd.withDeployRepository(env.MAVEN_DEPLOY_REPOSITORY)
402412
}
403413

404-
mvnCmd.skipTests(true).run('clean deploy')
414+
configFileProvider([configFile(fileId: env.MAVEN_SETTINGS_CONFIG_FILE_ID, variable: 'MAVEN_SETTINGS_FILE')]){
415+
mvnCmd
416+
.withSettingsXmlFile(MAVEN_SETTINGS_FILE)
417+
.skipTests(true)
418+
.run('clean deploy')
419+
}
405420
}
406421

407422
String getMavenRepoZipUrl() {
@@ -427,15 +442,15 @@ String getLocalDeploymentFolder(String localDeployId) {
427442
// Getters and Setters of params/properties
428443

429444
boolean isSpecificArtifactsUpload() {
430-
return env.MAVEN_DEPLOY_REPOSITORY && env.MAVEN_REPO_CREDS_ID
445+
return env.MAVEN_DEPLOY_REPOSITORY && env.MAVEN_REPO_CREDS_ID && !isDeployDisabled()
431446
}
432447

433448
boolean shouldStageArtifacts() {
434-
return !isSpecificArtifactsUpload() && isRelease() && !env.MAVEN_DEPLOY_REPOSITORY
449+
return !isSpecificArtifactsUpload() && isRelease() && !env.MAVEN_DEPLOY_REPOSITORY && !isDeployDisabled()
435450
}
436451

437452
boolean shouldDeployToRepository() {
438-
return env.MAVEN_DEPLOY_REPOSITORY || isNotTestingBuild()
453+
return (env.MAVEN_DEPLOY_REPOSITORY || isNotTestingBuild()) && !isDeployDisabled()
439454
}
440455

441456
boolean isNotTestingBuild() {
@@ -542,3 +557,7 @@ boolean isStream8() {
542557
boolean isStream9() {
543558
return env.OPTAPLANNER_LATEST_STREAM == '9'
544559
}
560+
561+
boolean isDeployDisabled() {
562+
return env.DISABLE_DEPLOY.toBoolean()
563+
}

.ci/jenkins/dsl/jobs.groovy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,8 @@ void setupDeployJob(JobType jobType, String envName = '') {
289289

290290
JENKINS_EMAIL_CREDS_ID: "${JENKINS_EMAIL_CREDS_ID}",
291291
MAVEN_SETTINGS_CONFIG_FILE_ID: "${MAVEN_SETTINGS_FILE_ID}",
292-
OPTAPLANNER_LATEST_STREAM: getOptaPlannerLatestStream()
292+
OPTAPLANNER_LATEST_STREAM: getOptaPlannerLatestStream(),
293+
DISABLE_DEPLOY: Utils.isDeployDisabled(this),
293294
])
294295
if (jobType == JobType.PULL_REQUEST) {
295296
jobParams.env.putAll([

0 commit comments

Comments
 (0)