diff --git a/Jenkinsfile b/Jenkinsfile index ac2adcb43..0a7cf61d8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -13,6 +13,59 @@ pipeline { } stages { + stage("Docker images") { + parallel { + stage('Publish JDK 8 + MongoDB 4.4') { + when { + changeset "ci/openjdk8-mongodb-4.4/**" + } + agent { label 'data' } + options { timeout(time: 30, unit: 'MINUTES') } + + steps { + script { + def image = docker.build("springci/spring-data-rest-openjdk8-with-mongodb-4.4", "ci/openjdk8-mongodb-4.4/") + docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + image.push() + } + } + } + } + stage('Publish JDK 11 + MongoDB 4.4') { + when { + changeset "ci/openjdk11-mongodb-4.4/**" + } + agent { label 'data' } + options { timeout(time: 30, unit: 'MINUTES') } + + steps { + script { + def image = docker.build("springci/spring-data-rest-openjdk11-with-mongodb-4.4", "ci/openjdk8-mongodb-4.4/") + docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + image.push() + } + } + } + } + stage('Publish JDK 16 + MongoDB 4.4') { + when { + changeset "ci/openjdk16-mongodb-4.4/**" + } + agent { label 'data' } + options { timeout(time: 30, unit: 'MINUTES') } + + steps { + script { + def image = docker.build("springci/spring-data-rest-openjdk16-with-mongodb-4.4", "ci/openjdk16-mongodb-4.4/") + docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + image.push() + } + } + } + } + } + } + stage("test: baseline (jdk8)") { when { anyOf { @@ -30,7 +83,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('springci/spring-data-openjdk8-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image('springci/spring-data-rest-openjdk8-with-mongodb-4.4:latest').inside('-v $HOME:/tmp/jenkins-home') { sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' sh 'sleep 10' @@ -62,7 +115,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('springci/spring-data-openjdk11-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image('springci/spring-data-rest-openjdk11-with-mongodb-4.4:latest').inside('-v $HOME:/tmp/jenkins-home') { sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' sh 'sleep 10' @@ -85,7 +138,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('springci/spring-data-openjdk16-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image('springci/spring-data-rest-openjdk16-with-mongodb-4.4:latest').inside('-v $HOME:/tmp/jenkins-home') { sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' sh 'sleep 10' @@ -108,7 +161,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('springci/spring-data-openjdk8-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image('springci/spring-data-rest-openjdk8-with-mongodb-4.4:latest').inside('-v $HOME:/tmp/jenkins-home') { sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' sh 'sleep 10' @@ -131,7 +184,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('springci/spring-data-openjdk16-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image('springci/spring-data-rest-openjdk16-with-mongodb-4.4:latest').inside('-v $HOME:/tmp/jenkins-home') { sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log' sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &' sh 'sleep 10' diff --git a/ci/openjdk11-mongodb-4.4/Dockerfile b/ci/openjdk11-mongodb-4.4/Dockerfile new file mode 100644 index 000000000..6c94ac38f --- /dev/null +++ b/ci/openjdk11-mongodb-4.4/Dockerfile @@ -0,0 +1,15 @@ +FROM adoptopenjdk/openjdk11:latest + +ENV TZ=Etc/UTC +ENV DEBIAN_FRONTEND=noninteractive + +RUN set -eux; \ + apt-get update && apt-get install -y apt-transport-https apt-utils gnupg2 ; \ + apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --recv 656408E390CFB1F5 ; \ + echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list; \ + echo ${TZ} > /etc/timezone; + +RUN apt-get update ; \ + apt-get install -y mongodb-org=4.4.4 mongodb-org-server=4.4.4 mongodb-org-shell=4.4.4 mongodb-org-mongos=4.4.4 mongodb-org-tools=4.4.4 ; \ + apt-get clean; \ + rm -rf /var/lib/apt/lists/*; diff --git a/ci/openjdk16-mongodb-4.4/Dockerfile b/ci/openjdk16-mongodb-4.4/Dockerfile new file mode 100644 index 000000000..7a1e47cf0 --- /dev/null +++ b/ci/openjdk16-mongodb-4.4/Dockerfile @@ -0,0 +1,15 @@ +FROM adoptopenjdk/openjdk16:latest + +ENV TZ=Etc/UTC +ENV DEBIAN_FRONTEND=noninteractive + +RUN set -eux; \ + apt-get update && apt-get install -y apt-transport-https apt-utils gnupg2 ; \ + apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --recv 656408E390CFB1F5 ; \ + echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list; \ + echo ${TZ} > /etc/timezone; + +RUN apt-get update ; \ + apt-get install -y mongodb-org=4.4.4 mongodb-org-server=4.4.4 mongodb-org-shell=4.4.4 mongodb-org-mongos=4.4.4 mongodb-org-tools=4.4.4 ; \ + apt-get clean; \ + rm -rf /var/lib/apt/lists/*; diff --git a/ci/openjdk8-mongodb-4.4/Dockerfile b/ci/openjdk8-mongodb-4.4/Dockerfile new file mode 100644 index 000000000..79774dd26 --- /dev/null +++ b/ci/openjdk8-mongodb-4.4/Dockerfile @@ -0,0 +1,17 @@ +FROM adoptopenjdk/openjdk8:latest + +ENV TZ=Etc/UTC +ENV DEBIAN_FRONTEND=noninteractive + +RUN set -eux; \ + apt-get update && apt-get install -y apt-transport-https apt-utils gnupg2 ; \ + apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --recv 656408E390CFB1F5 ; \ + echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list; \ + echo ${TZ} > /etc/timezone; + +RUN apt-get update ; \ + ln -T /bin/true /usr/bin/systemctl ; \ + apt-get install -y mongodb-org=4.4.4 mongodb-org-server=4.4.4 mongodb-org-shell=4.4.4 mongodb-org-mongos=4.4.4 mongodb-org-tools=4.4.4 ; \ + rm /usr/bin/systemctl ; \ + apt-get clean; \ + rm -rf /var/lib/apt/lists/*;