Skip to content

Commit

Permalink
chore(release): cleanup the Jenkins release logic (#8706)
Browse files Browse the repository at this point in the history
  • Loading branch information
hutchic committed Apr 21, 2022
1 parent 39dd728 commit 31ca6ea
Showing 1 changed file with 23 additions and 122 deletions.
145 changes: 23 additions & 122 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ pipeline {
}
}
parallel {
stage('AmazonLinux') {
stage('RPM') {
agent {
node {
label 'bionic'
Expand All @@ -66,168 +66,69 @@ pipeline {
environment {
KONG_SOURCE_LOCATION = "${env.WORKSPACE}"
KONG_BUILD_TOOLS_LOCATION = "${env.WORKSPACE}/../kong-build-tools"
AWS_ACCESS_KEY = credentials('AWS_ACCESS_KEY')
AWS_SECRET_ACCESS_KEY = credentials('AWS_SECRET_ACCESS_KEY')
}
steps {
sh 'echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin || true'
sh 'make setup-kong-build-tools'
sh 'PACKAGE_TYPE=rpm RESTY_IMAGE_BASE=amazonlinux RESTY_IMAGE_TAG=2 make release'
}
}
stage('src & Alpine') {
agent {
node {
label 'bionic'
}
}
environment {
KONG_SOURCE_LOCATION = "${env.WORKSPACE}"
KONG_BUILD_TOOLS_LOCATION = "${env.WORKSPACE}/../kong-build-tools"
AWS_ACCESS_KEY = credentials('AWS_ACCESS_KEY')
AWS_SECRET_ACCESS_KEY = credentials('AWS_SECRET_ACCESS_KEY')
}
steps {
sh 'echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin || true'
sh 'make setup-kong-build-tools'
sh 'PACKAGE_TYPE=src RESTY_IMAGE_BASE=src make release'
sh 'PACKAGE_TYPE=apk RESTY_IMAGE_BASE=alpine RESTY_IMAGE_TAG=3.14 CACHE=false DOCKER_MACHINE_ARM64_NAME="kong-"`cat /proc/sys/kernel/random/uuid` make release'

}
}
stage('RedHat') {
agent {
node {
label 'bionic'
}
}
environment {
PACKAGE_TYPE = 'rpm'
RESTY_IMAGE_BASE = 'rhel'
KONG_SOURCE_LOCATION = "${env.WORKSPACE}"
KONG_BUILD_TOOLS_LOCATION = "${env.WORKSPACE}/../kong-build-tools"
PRIVATE_KEY_FILE = credentials('kong.private.gpg-key.asc')
PRIVATE_KEY_PASSPHRASE = credentials('kong.private.gpg-key.asc.password')
}
steps {
sh 'echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin || true'
sh 'make setup-kong-build-tools'
sh 'cp $PRIVATE_KEY_FILE ../kong-build-tools/kong.private.gpg-key.asc'
sh 'RESTY_IMAGE_TAG=7 make release'
sh 'RESTY_IMAGE_TAG=8 make release'
}
}
stage('CentOS') {
agent {
node {
label 'bionic'
}
}
environment {
PACKAGE_TYPE = 'rpm'
RESTY_IMAGE_BASE = 'centos'
KONG_SOURCE_LOCATION = "${env.WORKSPACE}"
KONG_BUILD_TOOLS_LOCATION = "${env.WORKSPACE}/../kong-build-tools"
GITHUB_SSH_KEY = credentials('github_bot_ssh_key')
PACKAGE_TYPE = "rpm"
PRIVATE_KEY_FILE = credentials('kong.private.gpg-key.asc')
PRIVATE_KEY_PASSPHRASE = credentials('kong.private.gpg-key.asc.password')
}
steps {
sh 'echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin || true'
sh 'make setup-kong-build-tools'
sh 'cp $PRIVATE_KEY_FILE ../kong-build-tools/kong.private.gpg-key.asc'
sh 'RESTY_IMAGE_TAG=7 make release'
sh 'RESTY_IMAGE_TAG=8 make release'
sh 'make RESTY_IMAGE_BASE=amazonlinux RESTY_IMAGE_TAG=2 release'
sh 'make RESTY_IMAGE_BASE=centos RESTY_IMAGE_TAG=7 release'
sh 'make RESTY_IMAGE_BASE=centos RESTY_IMAGE_TAG=8 release'
sh 'make RESTY_IMAGE_BASE=rhel RESTY_IMAGE_TAG=7 release'
sh 'make RESTY_IMAGE_BASE=rhel RESTY_IMAGE_TAG=8 release'
}
}
stage('Debian OldStable') {
stage('DEB') {
agent {
node {
label 'bionic'
}
}
environment {
PACKAGE_TYPE = 'deb'
RESTY_IMAGE_BASE = 'debian'
KONG_SOURCE_LOCATION = "${env.WORKSPACE}"
KONG_BUILD_TOOLS_LOCATION = "${env.WORKSPACE}/../kong-build-tools"
}
steps {
sh 'echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin || true'
sh 'make setup-kong-build-tools'
sh 'RESTY_IMAGE_TAG=stretch make release'
}
}
stage('Debian Stable & Testing') {
agent {
node {
label 'bionic'
}
}
environment {
PACKAGE_TYPE = 'deb'
RESTY_IMAGE_BASE = 'debian'
KONG_SOURCE_LOCATION = "${env.WORKSPACE}"
KONG_BUILD_TOOLS_LOCATION = "${env.WORKSPACE}/../kong-build-tools"
}
steps {
sh 'echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin || true'
sh 'make setup-kong-build-tools'
sh 'RESTY_IMAGE_TAG=buster make release'
sh 'RESTY_IMAGE_TAG=bullseye make release'
}
}
stage('Ubuntu') {
agent {
node {
label 'bionic'
}
}
environment {
PACKAGE_TYPE = 'deb'
RESTY_IMAGE_BASE = 'ubuntu'
RESTY_IMAGE_TAG = 'bionic'
KONG_SOURCE_LOCATION = "${env.WORKSPACE}"
KONG_BUILD_TOOLS_LOCATION = "${env.WORKSPACE}/../kong-build-tools"
GITHUB_SSH_KEY = credentials('github_bot_ssh_key')
PACKAGE_TYPE = "deb"
}
steps {
sh 'echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin || true'
sh 'make setup-kong-build-tools'
sh 'RESTY_IMAGE_TAG=bionic make release'
sh 'RESTY_IMAGE_TAG=focal make release'
sh 'make RESTY_IMAGE_BASE=debian RESTY_IMAGE_TAG=9 release'
sh 'make RESTY_IMAGE_BASE=debian RESTY_IMAGE_TAG=10 release'
sh 'make RESTY_IMAGE_BASE=debian RESTY_IMAGE_TAG=11 release'
sh 'make RESTY_IMAGE_BASE=ubuntu RESTY_IMAGE_TAG=16.04 release'
sh 'make RESTY_IMAGE_BASE=ubuntu RESTY_IMAGE_TAG=18.04 release'
sh 'make RESTY_IMAGE_BASE=ubuntu RESTY_IMAGE_TAG=20.04 release'
}
}
stage('Ubuntu Xenial') {
stage('SRC & Alpine') {
agent {
node {
label 'bionic'
}
}
environment {
PACKAGE_TYPE = 'deb'
RESTY_IMAGE_BASE = 'ubuntu'
RESTY_IMAGE_TAG = 'xenial'
CACHE = 'false'
UPDATE_CACHE = 'true'
USER = 'travis'
KONG_SOURCE_LOCATION = "${env.WORKSPACE}"
KONG_BUILD_TOOLS_LOCATION = "${env.WORKSPACE}/../kong-build-tools"
GITHUB_SSH_KEY = credentials('github_bot_ssh_key')
PACKAGE_TYPE = "rpm"
AWS_ACCESS_KEY = credentials('AWS_ACCESS_KEY')
AWS_SECRET_ACCESS_KEY = credentials('AWS_SECRET_ACCESS_KEY')
}
steps {
sh 'echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin || true'
sh 'make setup-kong-build-tools'
sh 'DOCKER_MACHINE_ARM64_NAME="jenkins-kong-"`cat /proc/sys/kernel/random/uuid` make release'
}
post {
cleanup {
dir('../kong-build-tools'){ sh 'make cleanup-build' }
}
sh 'make RESTY_IMAGE_BASE=src RESTY_IMAGE_TAG=src PACKAGE_TYPE=src release'
sh 'make RESTY_IMAGE_BASE=alpine RESTY_IMAGE_TAG=3.10 PACKAGE_TYPE=apk DOCKER_MACHINE_ARM64_NAME="kong-"`cat /proc/sys/kernel/random/uuid` release'
}
}
}
}
stage('Post Packaging Steps') {
stage('Post Release Steps') {
when {
beforeAgent true
allOf {
Expand Down

0 comments on commit 31ca6ea

Please sign in to comment.