From 5f31304cc9385a2525ce84e79b473f91d0e0d603 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Fri, 27 Sep 2024 09:45:13 +0200 Subject: [PATCH] Polishing. Tweak wording. Remove unused Java 21/Mongo 6 Dockerfile. Move start-server code into shellfile. Remove 7.0/Java 17 test item in favor of Java 21 and old driver variants. See #4785 Original pull request: #4796 --- Jenkinsfile | 75 ++----------------- ci/openjdk17-mongodb-8.0/Dockerfile | 2 +- ci/openjdk21-mongodb-6.0/Dockerfile | 25 ------- ci/start-replica.sh | 6 ++ .../antora/modules/ROOT/pages/preface.adoc | 16 ++-- 5 files changed, 20 insertions(+), 104 deletions(-) delete mode 100644 ci/openjdk21-mongodb-6.0/Dockerfile create mode 100755 ci/start-replica.sh diff --git a/Jenkinsfile b/Jenkinsfile index edcafb9fd..07a8b8b17 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -77,25 +77,6 @@ pipeline { } } } - stage('Publish JDK (Java.next) + MongoDB 6.0') { - when { - anyOf { - changeset "ci/openjdk21-mongodb-6.0/**" - changeset "ci/pipeline.properties" - } - } - agent { label 'data' } - options { timeout(time: 30, unit: 'MINUTES') } - - steps { - script { - def image = docker.build("springci/spring-data-with-mongodb-6.0:${p['java.next.tag']}", "--build-arg BASE=${p['docker.java.next.image']} --build-arg MONGODB=${p['docker.mongodb.6.0.version']} ci/openjdk21-mongodb-6.0/") - docker.withRegistry(p['docker.registry'], p['docker.credentials']) { - image.push() - } - } - } - } stage('Publish JDK (Java 17) + MongoDB 7.0') { when { anyOf { @@ -176,11 +157,7 @@ pipeline { script { docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { docker.image("springci/spring-data-with-mongodb-4.4:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) { - sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' - sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' - sh 'sleep 10' - sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"' - sh 'sleep 15' + sh 'ci/start-replica.sh' sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' + "./mvnw -s settings.xml clean dependency:list test -Dsort -U -B" } @@ -211,11 +188,7 @@ pipeline { script { docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { docker.image("springci/spring-data-with-mongodb-5.0:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) { - sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' - sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' - sh 'sleep 10' - sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"' - sh 'sleep 15' + sh 'ci/start-replica.sh' sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' + "./mvnw -s settings.xml clean dependency:list test -Dsort -U -B" } @@ -237,37 +210,7 @@ pipeline { script { docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { docker.image("springci/spring-data-with-mongodb-6.0:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) { - sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' - sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' - sh 'sleep 10' - sh 'mongosh --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"' - sh 'sleep 15' - sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' + - "./mvnw -s settings.xml clean dependency:list test -Dsort -U -B" - } - } - } - } - } - - stage("test: MongoDB 7.0 (main)") { - agent { - label 'data' - } - options { timeout(time: 30, unit: 'MINUTES') } - environment { - ARTIFACTORY = credentials("${p['artifactory.credentials']}") - DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}") - } - steps { - script { - docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { - docker.image("springci/spring-data-with-mongodb-7.0:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) { - sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' - sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' - sh 'sleep 10' - sh 'mongosh --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"' - sh 'sleep 15' + sh 'ci/start-replica.sh' sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' + "./mvnw -s settings.xml clean dependency:list test -Dsort -U -B" } @@ -289,11 +232,7 @@ pipeline { script { docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { docker.image("springci/spring-data-with-mongodb-7.0:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) { - sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' - sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' - sh 'sleep 10' - sh 'mongosh --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"' - sh 'sleep 15' + sh 'ci/start-replica.sh' sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' + "./mvnw -s settings.xml -Pmongo-4.x clean dependency:list test -Dsort -U -B -Dgradle.cache.local.enabled=false -Dgradle.cache.remote.enabled=false" } @@ -315,11 +254,7 @@ pipeline { script { docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { docker.image("springci/spring-data-with-mongodb-7.0:${p['java.next.tag']}").inside(p['docker.java.inside.basic']) { - sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' - sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' - sh 'sleep 10' - sh 'mongosh --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"' - sh 'sleep 15' + sh 'ci/start-replica.sh' sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' + "./mvnw -s settings.xml clean dependency:list test -Dsort -U -B" } diff --git a/ci/openjdk17-mongodb-8.0/Dockerfile b/ci/openjdk17-mongodb-8.0/Dockerfile index 81b9c23a5..281824610 100644 --- a/ci/openjdk17-mongodb-8.0/Dockerfile +++ b/ci/openjdk17-mongodb-8.0/Dockerfile @@ -10,7 +10,7 @@ ENV MONGO_VERSION=${MONGODB} RUN set -eux; \ sed -i -e 's/archive.ubuntu.com/mirror.one.com/g' /etc/apt/sources.list && \ sed -i -e 's/security.ubuntu.com/mirror.one.com/g' /etc/apt/sources.list && \ - sed -i -e 's/ports.ubuntu.com/mirrors.ocf.berkeley.edu/g' /etc/apt/sources.list && \ + sed -i -e 's/ports.ubuntu.com/mirrors.ocf.berkeley.edu/g' /etc/apt/sources.list && \ sed -i -e 's/http/https/g' /etc/apt/sources.list && \ apt-get update && apt-get install -y apt-transport-https apt-utils gnupg2 wget && \ # MongoDB 8.0 release signing key diff --git a/ci/openjdk21-mongodb-6.0/Dockerfile b/ci/openjdk21-mongodb-6.0/Dockerfile deleted file mode 100644 index 1e6598343..000000000 --- a/ci/openjdk21-mongodb-6.0/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -ARG BASE -FROM ${BASE} -# Any ARG statements before FROM are cleared. -ARG MONGODB - -ENV TZ=Etc/UTC -ENV DEBIAN_FRONTEND=noninteractive -ENV MONGO_VERSION=${MONGODB} - -RUN set -eux; \ - sed -i -e 's/archive.ubuntu.com/mirror.one.com/g' /etc/apt/sources.list && \ - sed -i -e 's/security.ubuntu.com/mirror.one.com/g' /etc/apt/sources.list && \ - sed -i -e 's/ports.ubuntu.com/mirrors.ocf.berkeley.edu/g' /etc/apt/sources.list && \ - sed -i -e 's/http/https/g' /etc/apt/sources.list && \ - apt-get update && apt-get install -y apt-transport-https apt-utils gnupg2 wget && \ - # MongoDB 6.0 release signing key - wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | apt-key add - && \ - # Needed when MongoDB creates a 6.0 folder. - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list && \ - echo ${TZ} > /etc/timezone - -RUN apt-get update && \ - apt-get install -y mongodb-org=${MONGODB} mongodb-org-server=${MONGODB} mongodb-org-shell=${MONGODB} mongodb-org-mongos=${MONGODB} mongodb-org-tools=${MONGODB} && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* diff --git a/ci/start-replica.sh b/ci/start-replica.sh new file mode 100755 index 000000000..9124976f3 --- /dev/null +++ b/ci/start-replica.sh @@ -0,0 +1,6 @@ +#!/bin/sh +mkdir -p /tmp/mongodb/db /tmp/mongodb/log +mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log & +sleep 10 +mongosh --eval "rs.initiate({_id: 'rs0', members:[{_id: 0, host: '127.0.0.1:27017'}]});" +sleep 15 diff --git a/src/main/antora/modules/ROOT/pages/preface.adoc b/src/main/antora/modules/ROOT/pages/preface.adoc index fc4cf8911..d69aa8d95 100644 --- a/src/main/antora/modules/ROOT/pages/preface.adoc +++ b/src/main/antora/modules/ROOT/pages/preface.adoc @@ -25,37 +25,37 @@ See also the https://www.mongodb.com/docs/drivers/java/sync/current/compatibilit |2024.1 |4.4.x |5.x -|4.4.x, 5.x, 6.x, 7.x, 8.x +|4.4.x to 8.x |2024.0 |4.3.x |4.11.x & 5.x -|4.4.x, 5.x, 6.x, 7.x +|4.4.x to 7.x |2023.1 |4.2.x |4.9.x -|4.4.x, 5.x, 6.x, 7.x +|4.4.x to 7.x |2023.0 (*) |4.1.x |4.9.x -|4.4.x, 5.x, 6.x +|4.4.x to 6.x |2022.0 (*) |4.0.x |4.7.x -|4.4.x, 5.x, 6.x +|4.4.x to 6.x |2021.2 (*) |3.4.x |4.6.x -|4.4.x, 5.0.x +|4.4.x to 5.0.x |2021.1 (*) |3.3.x |4.4.x -|4.4.x, 5.0.x +|4.4.x to 5.0.x |2021.0 (*) |3.2.x @@ -83,7 +83,7 @@ See also the https://www.mongodb.com/docs/drivers/java/sync/current/compatibilit |4.0.x |=== -(*) End of OSS Support +(*) https://spring.io/projects/spring-data-mongodb#support[End of OSS Support] ==== [[compatibility.changes]]