Skip to content

Commit b5f3b8e

Browse files
jxblummp911de
authored andcommitted
Upgrade Jenkins CI build to JDK 17.
The Jenkinsfile will need to be edited once AdoptOpenJDK releases OpenJDK17. See #1170.
1 parent 29114cb commit b5f3b8e

File tree

2 files changed

+57
-87
lines changed

2 files changed

+57
-87
lines changed

Jenkinsfile

+34-87
Original file line numberDiff line numberDiff line change
@@ -14,48 +14,16 @@ pipeline {
1414
stages {
1515
stage("Docker images") {
1616
parallel {
17-
stage('Publish JDK 8 + Cassandra 3.11') {
18-
when {
19-
changeset "ci/openjdk8-cassandra-3.11/**"
20-
}
21-
agent { label 'data' }
22-
options { timeout(time: 30, unit: 'MINUTES') }
23-
24-
steps {
25-
script {
26-
def image = docker.build("springci/spring-data-openjdk8-cassandra-3.11", "ci/openjdk8-cassandra-3.11/")
27-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
28-
image.push()
29-
}
30-
}
31-
}
32-
}
33-
stage('Publish JDK 11 + Cassandra 3.11') {
34-
when {
35-
changeset "ci/openjdk11-8-cassandra-3.11/**"
36-
}
37-
agent { label 'data' }
38-
options { timeout(time: 30, unit: 'MINUTES') }
39-
40-
steps {
41-
script {
42-
def image = docker.build("springci/spring-data-openjdk11-8-cassandra-3.11", "ci/openjdk11-8-cassandra-3.11/")
43-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
44-
image.push()
45-
}
46-
}
47-
}
48-
}
4917
stage('Publish JDK 17 + Cassandra 3.11') {
5018
when {
51-
changeset "ci/openjdk17-8-cassandra-3.11/**"
19+
changeset "ci/openjdk17-cassandra-3.11/**"
5220
}
5321
agent { label 'data' }
5422
options { timeout(time: 30, unit: 'MINUTES') }
5523

5624
steps {
5725
script {
58-
def image = docker.build("springci/spring-data-openjdk17-8-cassandra-3.11", "ci/openjdk17-8-cassandra-3.11/")
26+
def image = docker.build("springci/spring-data-openjdk17-cassandra-3.11", "ci/openjdk17-cassandra-3.11/")
5927
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
6028
image.push()
6129
}
@@ -65,7 +33,7 @@ pipeline {
6533
}
6634
}
6735

68-
stage("test: baseline (jdk8)") {
36+
stage("test: baseline (jdk17)") {
6937
when {
7038
beforeAgent(true)
7139
anyOf {
@@ -83,7 +51,7 @@ pipeline {
8351
steps {
8452
script {
8553
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
86-
docker.image('springci/spring-data-openjdk8-cassandra-3.11:latest').inside('-v $HOME:/tmp/jenkins-home') {
54+
docker.image('springci/spring-data-openjdk17-cassandra-3.11:latest').inside('-v $HOME:/tmp/jenkins-home') {
8755
sh 'mkdir -p /tmp/jenkins-home'
8856
sh 'JAVA_HOME=/opt/java/openjdk /opt/cassandra/bin/cassandra -R &'
8957
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,external-cassandra clean dependency:list verify -Dsort -U -B'
@@ -93,64 +61,45 @@ pipeline {
9361
}
9462
}
9563

96-
stage("Test other configurations") {
64+
stage('Release to artifactory') {
9765
when {
9866
beforeAgent(true)
99-
allOf {
67+
anyOf {
10068
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
10169
not { triggeredBy 'UpstreamCause' }
10270
}
10371
}
104-
parallel {
105-
stage("test: baseline (jdk11)") {
106-
agent {
107-
label 'data'
108-
}
109-
options { timeout(time: 30, unit: 'MINUTES') }
110-
environment {
111-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
112-
}
113-
steps {
114-
script {
115-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
116-
docker.image('springci/spring-data-openjdk11-8-cassandra-3.11:latest').inside('-v $HOME:/tmp/jenkins-home') {
117-
sh 'mkdir -p /tmp/jenkins-home'
118-
sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &'
119-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,external-cassandra,java11 clean dependency:list verify -Dsort -U -B'
120-
}
121-
}
122-
}
123-
}
124-
}
125-
stage("test: baseline (jdk17)") {
126-
agent {
127-
label 'data'
128-
}
129-
options { timeout(time: 30, unit: 'MINUTES') }
130-
environment {
131-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
132-
}
133-
steps {
134-
script {
135-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
136-
docker.image('springci/spring-data-openjdk17-8-cassandra-3.11:latest').inside('-v $HOME:/tmp/jenkins-home') {
137-
sh 'mkdir -p /tmp/jenkins-home'
138-
sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &'
139-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,external-cassandra,java11 clean dependency:list verify -Dsort -U -B'
140-
}
141-
}
72+
agent {
73+
label 'data'
74+
}
75+
options { timeout(time: 20, unit: 'MINUTES') }
76+
77+
environment {
78+
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
79+
}
80+
81+
steps {
82+
script {
83+
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
84+
docker.image('adoptopenjdk/openjdk17:latest').inside('-v $HOME:/tmp/jenkins-home') {
85+
sh 'mkdir -p /tmp/jenkins-home'
86+
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
87+
'-Dartifactory.server=https://repo.spring.io ' +
88+
"-Dartifactory.username=${ARTIFACTORY_USR} " +
89+
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
90+
"-Dartifactory.staging-repository=libs-snapshot-local " +
91+
"-Dartifactory.build-name=spring-data-cassandra " +
92+
"-Dartifactory.build-number=${BUILD_NUMBER} " +
93+
'-Dmaven.test.skip=true clean deploy -U -B'
14294
}
14395
}
14496
}
14597
}
14698
}
147-
stage('Release to artifactory') {
99+
100+
stage('Publish documentation') {
148101
when {
149-
beforeAgent(true)
150-
anyOf {
151-
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
152-
not { triggeredBy 'UpstreamCause' }
153-
}
102+
branch 'main'
154103
}
155104
agent {
156105
label 'data'
@@ -164,15 +113,13 @@ pipeline {
164113
steps {
165114
script {
166115
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
167-
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
116+
docker.image('adoptopenjdk/openjdk17:latest').inside('-v $HOME:/tmp/jenkins-home') {
168117
sh 'mkdir -p /tmp/jenkins-home'
169-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
118+
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,distribute ' +
170119
'-Dartifactory.server=https://repo.spring.io ' +
171120
"-Dartifactory.username=${ARTIFACTORY_USR} " +
172121
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
173-
"-Dartifactory.staging-repository=libs-snapshot-local " +
174-
"-Dartifactory.build-name=spring-data-cassandra " +
175-
"-Dartifactory.build-number=${BUILD_NUMBER} " +
122+
"-Dartifactory.distribution-repository=temp-private-local " +
176123
'-Dmaven.test.skip=true clean deploy -U -B'
177124
}
178125
}
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
FROM adoptopenjdk/openjdk17:latest
2+
3+
RUN set -eux; \
4+
CASSANDRA_URL='https://www-us.apache.org/dist/cassandra/3.11.10/apache-cassandra-3.11.10-bin.tar.gz'; \
5+
curl -LfsSo /tmp/cassandra.tar.gz ${CASSANDRA_URL}; \
6+
mkdir -p /opt/cassandra /opt/cassandra/data /opt/cassandra/logs; \
7+
cd /opt/cassandra; \
8+
tar -xf /tmp/cassandra.tar.gz --strip-components=1; \
9+
rm -rf /tmp/cassandra.tar.gz; \
10+
chmod -R a+rwx /opt/cassandra; \
11+
useradd -d /home/jenkins-docker -m -u 1001 -U jenkins-docker;
12+
13+
RUN set -eux; \
14+
BINARY_URL='https://github.com/AdoptOpenJDK/openjdk17-binaries/releases/download/jdk17/OpenJDK17-jdk_x64_linux_hotspot_17.tar.gz'; \
15+
curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \
16+
mkdir -p /opt/java/openjdk17; \
17+
cd /opt/java/openjdk17; \
18+
tar -xf /tmp/openjdk.tar.gz --strip-components=1; \
19+
rm -rf /tmp/openjdk.tar.gz;
20+
21+
ENV PATH="/opt/java/openjdk17/bin:$PATH"
22+
ENV MAX_HEAP_SIZE=1500M
23+
ENV HEAP_NEWSIZE=300M

0 commit comments

Comments
 (0)