@@ -25,21 +25,6 @@ pipeline {
25
25
booleanParam(name : ' DRY_RUN' , defaultValue : false , description : ' Whether the release steps should actually push changes to git and maven repositories, or not.' )
26
26
}
27
27
28
- environment {
29
- POM = ' pom.xml'
30
- MAVEN_OPTS = ' -Xmx1024m -Xms256m -XshowSettings:vm -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
31
- VERSIONS_MAVEN_PLUGIN = latest_maven_release_gav(' org.codehaus.mojo' , ' versions-maven-plugin' )
32
- MAVEN_DEPENDENCY_PLUGIN = latest_maven_release_gav(' org.apache.maven.plugins' , ' maven-dependency-plugin' )
33
- ARTIFACT_ID = sh(
34
- script : " xml sel -N mvn=\" http://maven.apache.org/POM/4.0.0\" -t -v \" /mvn:project/mvn:artifactId\" \" ${ env.POM} \" " ,
35
- returnStdout : true
36
- )
37
- GROUP_ID = sh(
38
- script : " xml sel -N mvn=\" http://maven.apache.org/POM/4.0.0\" -t -v \" (/mvn:project/mvn:groupId|/mvn:project/mvn:parent/mvn:groupId)[last()]\" \" ${ env.POM} \" " ,
39
- returnStdout : true
40
- )
41
- }
42
-
43
28
tools {
44
29
jdk ' temurin-jdk17-latest'
45
30
}
@@ -58,75 +43,50 @@ pipeline {
58
43
}
59
44
steps {
60
45
sh '''
61
- "${WORKSPACE}/mvnw" "${VERSIONS_MAVEN_PLUGIN}:set" -DnewVersion="${RELEASE_VERSION}" -DgenerateBackupPoms=false -f "${POM}"
62
-
63
- git config user.email "[email protected] "
64
- git config user.name "CBI Bot"
65
- git config --local credential.helper "!f() { echo username=\\ $GIT_AUTH_USR; echo password=\\ $GIT_AUTH_PSW; }; f"
66
-
67
- git add --all
68
- git commit -m "Prepare release ${RELEASE_VERSION}"
69
- git tag "v${RELEASE_VERSION}" -m "Release ${RELEASE_VERSION}"
70
-
71
- # quick check that we don't depend on SNAPSHOT anymore
72
- if "${WORKSPACE}/mvnw" "${MAVEN_DEPENDENCY_PLUGIN}:list" -f "${POM}" | grep SNAPSHOT; then
73
- >&2 echo "ERROR: At least one dependency to a 'SNAPSHOT' version has been found from '${POM}'"
74
- >&2 echo "ERROR: It is forbidden for releasing"
75
- exit 1
76
- fi
77
-
78
- if grep SNAPSHOT "${POM}"; then
79
- >&2 echo "ERROR: At least one 'SNAPSHOT' string has been found in '${POM}'"
80
- >&2 echo "ERROR: It is forbidden for releasing"
81
- exit 1
82
- fi
46
+ build.sh prepare_release "${RELEASE_VERSION}" "${NEXT_DEVELOPMENT_VERSION}"
47
+ build.sh check_snapshot_deps "${RELEASE_VERSION}" "${NEXT_DEVELOPMENT_VERSION}"
83
48
'''
84
49
}
85
50
}
86
51
87
52
stage(' Display plugin/dependency updates' ) {
88
53
steps {
89
54
sh '''
90
- "${WORKSPACE}/mvnw" "${VERSIONS_MAVEN_PLUGIN}:display-plugin-updates" -f "${POM}"
91
- "${WORKSPACE}/mvnw" "${VERSIONS_MAVEN_PLUGIN}:display-dependency-updates" -f "${POM}"
55
+ build.sh show_dep_updates "${RELEASE_VERSION}" "${NEXT_DEVELOPMENT_VERSION}"
92
56
'''
93
57
}
94
58
}
95
59
96
60
stage(' Build' ) {
97
61
steps {
98
- sh ' "${WORKSPACE}/mvnw" clean verify -f "${POM }"'
62
+ sh ' build.sh build "${RELEASE_VERSION}" "${NEXT_DEVELOPMENT_VERSION }"'
99
63
archiveArtifacts ' webservice/**/target/*.jar'
100
64
junit ' **/target/surefire-reports/*.xml'
101
65
}
102
66
}
103
67
104
- stage(' Deploy ' ) {
68
+ stage(' Push tag to repository ' ) {
105
69
when {
106
70
expression {
107
- env. BRANCH_NAME == ' main' && env . DRY_RUN != ' true '
71
+ env. BRANCH_NAME == ' main' && params . RELEASE_VERSION != ' ' && params . NEXT_DEVELOPMENT_VERSION != ' '
108
72
}
109
73
}
74
+ environment {
75
+ GIT_AUTH = credentials(' github-bot' )
76
+ }
110
77
steps {
111
- sh '''
112
- "${WORKSPACE}/mvnw" deploy -f "${POM}"
113
- '''
78
+ sh ' build.sh push_release "${RELEASE_VERSION}" "${NEXT_DEVELOPMENT_VERSION}"'
114
79
}
115
80
}
116
81
117
- stage(' Push tag to repository ' ) {
82
+ stage(' Deploy ' ) {
118
83
when {
119
84
expression {
120
- env. BRANCH_NAME == ' main' && params . RELEASE_VERSION != ' ' && params . NEXT_DEVELOPMENT_VERSION != ' ' && env . DRY_RUN != ' true '
85
+ env. BRANCH_NAME == ' main'
121
86
}
122
87
}
123
- environment {
124
- GIT_AUTH = credentials(' github-bot' )
125
- }
126
88
steps {
127
- sh'''
128
- git push origin "v${RELEASE_VERSION}"
129
- '''
89
+ sh ' build.sh deploy "${RELEASE_VERSION}" "${NEXT_DEVELOPMENT_VERSION}"'
130
90
}
131
91
}
132
92
0 commit comments