Skip to content

Commit e51e5d5

Browse files
committed
Upgrade Jenkins CI build to JDK 17.
The Jenkinsfile will need to be edited once AdoptOpenJDK releeases OpenJDK17. Resolves spring-projectsgh-1170.
1 parent 487e36b commit e51e5d5

File tree

2 files changed

+31
-89
lines changed

2 files changed

+31
-89
lines changed

Jenkinsfile

+8-89
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') {
17+
stage('Publish JDK 17 + Cassandra 3.11') {
1818
when {
19-
changeset "ci/openjdk8-cassandra-3.11/**"
19+
changeset "ci/openjdk17-cassandra-3.11/**"
2020
}
2121
agent { label 'data' }
2222
options { timeout(time: 30, unit: 'MINUTES') }
2323

2424
steps {
2525
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-
}
49-
stage('Publish JDK 16 + Cassandra 3.11') {
50-
when {
51-
changeset "ci/openjdk16-8-cassandra-3.11/**"
52-
}
53-
agent { label 'data' }
54-
options { timeout(time: 30, unit: 'MINUTES') }
55-
56-
steps {
57-
script {
58-
def image = docker.build("springci/spring-data-openjdk16-8-cassandra-3.11", "ci/openjdk16-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
anyOf {
7139
branch 'main'
@@ -82,7 +50,7 @@ pipeline {
8250
steps {
8351
script {
8452
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
85-
docker.image('springci/spring-data-openjdk8-cassandra-3.11:latest').inside('-v $HOME:/tmp/jenkins-home') {
53+
docker.image('springci/spring-data-openjdk17-cassandra-3.11:latest').inside('-v $HOME:/tmp/jenkins-home') {
8654
sh 'mkdir -p /tmp/jenkins-home'
8755
sh 'JAVA_HOME=/opt/java/openjdk /opt/cassandra/bin/cassandra -R &'
8856
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'
@@ -92,56 +60,6 @@ pipeline {
9260
}
9361
}
9462

95-
stage("Test other configurations") {
96-
when {
97-
allOf {
98-
branch 'main'
99-
not { triggeredBy 'UpstreamCause' }
100-
}
101-
}
102-
parallel {
103-
stage("test: baseline (jdk11)") {
104-
agent {
105-
label 'data'
106-
}
107-
options { timeout(time: 30, unit: 'MINUTES') }
108-
environment {
109-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
110-
}
111-
steps {
112-
script {
113-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
114-
docker.image('springci/spring-data-openjdk11-8-cassandra-3.11:latest').inside('-v $HOME:/tmp/jenkins-home') {
115-
sh 'mkdir -p /tmp/jenkins-home'
116-
sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &'
117-
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'
118-
}
119-
}
120-
}
121-
}
122-
}
123-
stage("test: baseline (jdk16)") {
124-
agent {
125-
label 'data'
126-
}
127-
options { timeout(time: 30, unit: 'MINUTES') }
128-
environment {
129-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
130-
}
131-
steps {
132-
script {
133-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
134-
docker.image('springci/spring-data-openjdk16-8-cassandra-3.11:latest').inside('-v $HOME:/tmp/jenkins-home') {
135-
sh 'mkdir -p /tmp/jenkins-home'
136-
sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &'
137-
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'
138-
}
139-
}
140-
}
141-
}
142-
}
143-
}
144-
}
14563
stage('Release to artifactory') {
14664
when {
14765
anyOf {
@@ -161,7 +79,7 @@ pipeline {
16179
steps {
16280
script {
16381
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
164-
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
82+
docker.image('adoptopenjdk/openjdk17:latest').inside('-v $HOME:/tmp/jenkins-home') {
16583
sh 'mkdir -p /tmp/jenkins-home'
16684
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
16785
'-Dartifactory.server=https://repo.spring.io ' +
@@ -176,6 +94,7 @@ pipeline {
17694
}
17795
}
17896
}
97+
17998
stage('Publish documentation') {
18099
when {
181100
branch 'main'
@@ -192,7 +111,7 @@ pipeline {
192111
steps {
193112
script {
194113
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
195-
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
114+
docker.image('adoptopenjdk/openjdk17:latest').inside('-v $HOME:/tmp/jenkins-home') {
196115
sh 'mkdir -p /tmp/jenkins-home'
197116
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,distribute ' +
198117
'-Dartifactory.server=https://repo.spring.io ' +
+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/openjdk8; \
17+
cd /opt/java/openjdk8; \
18+
tar -xf /tmp/openjdk.tar.gz --strip-components=1; \
19+
rm -rf /tmp/openjdk.tar.gz;
20+
21+
ENV PATH="/opt/java/openjdk8/bin:$PATH"
22+
ENV MAX_HEAP_SIZE=1500M
23+
ENV HEAP_NEWSIZE=300M

0 commit comments

Comments
 (0)