Reconfigure the Jenkins CI build pipeline.
* Configure the buld to use the VMW provided Harbor DockerHub Proxy. * Use pipeline.properties to parameterize the build. * Remove Docker logins (docker.withRegistry(..) directtives in Jenkinsfile & 'docker login' command in setup.sh).
This commit is contained in:
102
Jenkinsfile
vendored
102
Jenkinsfile
vendored
@@ -1,13 +1,14 @@
|
||||
def p = [:]
|
||||
|
||||
node {
|
||||
checkout scm
|
||||
p = readProperties interpolate: true, file: 'ci/pipeline.properties'
|
||||
}
|
||||
|
||||
pipeline {
|
||||
|
||||
agent any
|
||||
|
||||
/*
|
||||
environment {
|
||||
JAVA_HOME = "${tool 'jdk8'}"
|
||||
}
|
||||
*/
|
||||
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '15'))
|
||||
disableConcurrentBuilds()
|
||||
@@ -20,40 +21,35 @@ pipeline {
|
||||
stages {
|
||||
|
||||
stage('Build') {
|
||||
environment {
|
||||
DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
|
||||
}
|
||||
options {
|
||||
timeout(time: 15, unit: "MINUTES")
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
|
||||
docker.image('adoptopenjdk/openjdk8:latest').inside('-u root -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp') {
|
||||
docker.image(p['docker.container.image.java.main']).inside(p['docker.container.inside.env.full']) {
|
||||
|
||||
sh "echo 'Setup build environment...'"
|
||||
sh "ci/setup.sh"
|
||||
sh "echo 'Setup build environment...'"
|
||||
sh "ci/setup.sh"
|
||||
|
||||
// Cleanup any prior build system resources
|
||||
try {
|
||||
sh "echo 'Clean up GemFire/Geode files & build artifacts...'"
|
||||
sh "ci/cleanupGemFiles.sh"
|
||||
sh "ci/cleanupArtifacts.sh"
|
||||
}
|
||||
catch (ignore) { }
|
||||
// Cleanup any prior build system resources
|
||||
try {
|
||||
sh "echo 'Clean up GemFire/Geode files & build artifacts...'"
|
||||
sh "ci/cleanupGemFiles.sh"
|
||||
sh "ci/cleanupArtifacts.sh"
|
||||
}
|
||||
catch (ignore) { }
|
||||
|
||||
// Run the SBDG project Gradle build using JDK 8 inside Docker
|
||||
try {
|
||||
sh "echo 'Building SBDG...'"
|
||||
sh "ci/check.sh"
|
||||
}
|
||||
catch (e) {
|
||||
currentBuild.result = "FAILED: build"
|
||||
throw e
|
||||
}
|
||||
finally {
|
||||
junit '**/build/test-results/*/*.xml'
|
||||
}
|
||||
// Run the SBDG project Gradle build using JDK 8 inside Docker
|
||||
try {
|
||||
sh "echo 'Building SBDG...'"
|
||||
sh "ci/check.sh"
|
||||
}
|
||||
catch (e) {
|
||||
currentBuild.result = "FAILED: build"
|
||||
throw e
|
||||
}
|
||||
finally {
|
||||
junit '**/build/test-results/*/*.xml'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -63,16 +59,14 @@ pipeline {
|
||||
stage ('Deploy Docs') {
|
||||
steps {
|
||||
script {
|
||||
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
|
||||
docker.image('adoptopenjdk/openjdk8:latest').inside("--name ${env.HOSTNAME}Two -u root -v /tmp:/tmp") {
|
||||
withCredentials([file(credentialsId: 'docs.spring.io-jenkins_private_ssh_key', variable: 'DEPLOY_SSH_KEY')]) {
|
||||
try {
|
||||
sh "ci/deployDocs.sh"
|
||||
}
|
||||
catch (e) {
|
||||
currentBuild.result = "FAILED: deploy docs"
|
||||
throw e
|
||||
}
|
||||
docker.image('adoptopenjdk/openjdk8:latest').inside("--name ${env.HOSTNAME}Two -u root -v /tmp:/tmp") {
|
||||
withCredentials([file(credentialsId: 'docs.spring.io-jenkins_private_ssh_key', variable: 'DEPLOY_SSH_KEY')]) {
|
||||
try {
|
||||
sh "ci/deployDocs.sh"
|
||||
}
|
||||
catch (e) {
|
||||
currentBuild.result = "FAILED: deploy docs"
|
||||
throw e
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -83,19 +77,17 @@ pipeline {
|
||||
stage ('Deploy Artifacts') {
|
||||
steps {
|
||||
script {
|
||||
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
|
||||
docker.image('adoptopenjdk/openjdk8:latest').inside("--name ${env.HOSTNAME}One -u root -v /tmp:/tmp") {
|
||||
withCredentials([file(credentialsId: 'spring-signing-secring.gpg', variable: 'SIGNING_KEYRING_FILE')]) {
|
||||
withCredentials([string(credentialsId: 'spring-gpg-passphrase', variable: 'SIGNING_PASSWORD')]) {
|
||||
withCredentials([usernamePassword(credentialsId: 'oss-token', passwordVariable: 'OSSRH_PASSWORD', usernameVariable: 'OSSRH_USERNAME')]) {
|
||||
withCredentials([usernamePassword(credentialsId: '02bd1690-b54f-4c9f-819d-a77cb7a9822c', usernameVariable: 'ARTIFACTORY_USERNAME', passwordVariable: 'ARTIFACTORY_PASSWORD')]) {
|
||||
try {
|
||||
sh "ci/deployArtifacts.sh"
|
||||
}
|
||||
catch (e) {
|
||||
currentBuild.result = "FAILED: deploy artifacts"
|
||||
throw e
|
||||
}
|
||||
docker.image('adoptopenjdk/openjdk8:latest').inside("--name ${env.HOSTNAME}One -u root -v /tmp:/tmp") {
|
||||
withCredentials([file(credentialsId: 'spring-signing-secring.gpg', variable: 'SIGNING_KEYRING_FILE')]) {
|
||||
withCredentials([string(credentialsId: 'spring-gpg-passphrase', variable: 'SIGNING_PASSWORD')]) {
|
||||
withCredentials([usernamePassword(credentialsId: 'oss-token', passwordVariable: 'OSSRH_PASSWORD', usernameVariable: 'OSSRH_USERNAME')]) {
|
||||
withCredentials([usernamePassword(credentialsId: '02bd1690-b54f-4c9f-819d-a77cb7a9822c', usernameVariable: 'ARTIFACTORY_USERNAME', passwordVariable: 'ARTIFACTORY_PASSWORD')]) {
|
||||
try {
|
||||
sh "ci/deployArtifacts.sh"
|
||||
}
|
||||
catch (e) {
|
||||
currentBuild.result = "FAILED: deploy artifacts"
|
||||
throw e
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
14
ci/pipeline.properties
Normal file
14
ci/pipeline.properties
Normal file
@@ -0,0 +1,14 @@
|
||||
# Java (JDK) versions
|
||||
java.main.tag=8u322-b06-jdk
|
||||
|
||||
# Docker Container Images
|
||||
docker.container.image.java.main=harbor-repo.vmware.com/dockerhub-proxy-cache/library/eclipse-temurin:${java.main.tag}
|
||||
|
||||
# Docker Environment Settings
|
||||
docker.container.inside.env.basic=-u root -v $HOME:/tmp/jenkins-home -v /tmp:/tmp
|
||||
docker.container.inside.env.full=-u root -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp -v $HOME:/tmp/jenkins-home
|
||||
|
||||
# Credentials
|
||||
docker.registry=
|
||||
docker.credentials=hub.docker.com-springbuildmaster
|
||||
artifactory.credentials=02bd1690-b54f-4c9f-819d-a77cb7a9822c
|
||||
@@ -9,6 +9,6 @@ chown -R 1001:1001 .
|
||||
mkdir -p /tmp/geode/boot/artifacts-gradle-cache
|
||||
mkdir -p /tmp/geode/boot/build-gradle-cache
|
||||
mkdir -p /tmp/geode/boot/docs-gradle-cache
|
||||
echo "Logging into Docker..."
|
||||
docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}
|
||||
#echo "Logging into Docker..."
|
||||
#docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user