96 lines
4.9 KiB
Plaintext
96 lines
4.9 KiB
Plaintext
pipeline {
|
|
agent any
|
|
parameters {
|
|
string(name: 'NEW_PROVIDERS_VERSION', defaultValue: '', description: 'New version, eg: 2020.0.0')
|
|
string(name: 'NEXT_PROVIDERS_VERSION', defaultValue: '11.0.1', description: 'Next version')
|
|
string(name: 'NEW_KEYCLOAK_IMAGE_TAG', defaultValue: '2-11.0.0', description: 'New image tag')
|
|
string(name: 'IMPORTEXPORT_VERSION', defaultValue: '11.0.2', description: 'Import export rest provider version')
|
|
string(name: 'PROVIDERS_RELEASE_BRANCH', defaultValue: 'master', description: 'Release branch')
|
|
string(name: 'PROVIDERS_DEV_BRANCH', defaultValue: 'dev', description: 'Release branch')
|
|
string(name: 'IMAGE_BUILD_BRANCH', defaultValue: 'master', description: 'Image branch to use for build')
|
|
string(name: 'CLUSTER_STACK', defaultValue: 'lifeislifedev', description: 'Namespace to use for conf update')
|
|
}
|
|
options {
|
|
disableConcurrentBuilds()
|
|
buildDiscarder(logRotator(numToKeepStr: '10'))
|
|
}
|
|
stages {
|
|
stage('Release') {
|
|
steps {
|
|
buildName "#${BUILD_NUMBER} ${params.NEW_KEYCLOAK_IMAGE_TAG}"
|
|
|
|
build job: "lifeislife/release-keycloak-itsme-broker", parameters: [
|
|
string(name: 'NEW_VERSION', value: "${params.NEW_PROVIDERS_VERSION}"),
|
|
string(name: 'RELEASE_BRANCH', value: "${env.PROVIDERS_RELEASE_BRANCH}"),
|
|
string(name: 'GIT_REPO_BRANCH', value: "${env.PROVIDERS_DEV_BRANCH}"),
|
|
]
|
|
|
|
build job: "lifeislife/release-keycloak-lifeislife-userstorage", parameters: [
|
|
string(name: 'NEW_VERSION', value: "${params.NEW_PROVIDERS_VERSION}"),
|
|
string(name: 'RELEASE_BRANCH', value: "${env.PROVIDERS_RELEASE_BRANCH}"),
|
|
string(name: 'GIT_REPO_BRANCH', value: "${env.PROVIDERS_DEV_BRANCH}"),
|
|
]
|
|
|
|
|
|
build job: "lifeislife/keycloak-itsme-broker/${params.PROVIDERS_RELEASE_BRANCH}", parameters: [
|
|
booleanParam(name: 'FORCE_DEPLOY', value: true),
|
|
]
|
|
|
|
build job: "lifeislife/keycloak-lifeislife-userstorage/${params.PROVIDERS_RELEASE_BRANCH}", parameters: [
|
|
booleanParam(name: 'FORCE_DEPLOY', value: true),
|
|
]
|
|
|
|
sh 'sleep 20'
|
|
|
|
build job: "lifeislife/lifeislife-keycloak/${params.IMAGE_BUILD_BRANCH}", parameters: [
|
|
string(name: 'USERSTORAGE_VERSION', value: "${params.NEW_PROVIDERS_VERSION}"),
|
|
string(name: 'ITSME_BROKER_VERSION', value: "${params.NEW_PROVIDERS_VERSION}"),
|
|
string(name: 'IMPORTEXPORT_EAR_VERSION', value: "${params.IMPORTEXPORT_VERSION}"),
|
|
string(name: 'IMAGE_VERSION', value: "${params.NEW_KEYCLOAK_IMAGE_TAG}"),
|
|
]
|
|
|
|
}
|
|
}
|
|
|
|
stage('Post release') {
|
|
parallel {
|
|
stage('Release next version') {
|
|
steps {
|
|
build job: "lifeislife/release-keycloak-itsme-broker", parameters: [
|
|
string(name: 'NEW_VERSION', value: "${params.NEXT_PROVIDERS_VERSION}-SNAPSHOT"),
|
|
string(name: 'RELEASE_BRANCH', value: "${env.PROVIDERS_DEV_BRANCH}"),
|
|
string(name: 'GIT_REPO_BRANCH', value: "${env.PROVIDERS_RELEASE_BRANCH}"),
|
|
booleanParam(name: 'SKIP_PUSH_TAG', value: true),
|
|
]
|
|
|
|
build job: "lifeislife/release-keycloak-lifeislife-userstorage", parameters: [
|
|
string(name: 'NEW_VERSION', value: "${params.NEXT_PROVIDERS_VERSION}-SNAPSHOT"),
|
|
string(name: 'RELEASE_BRANCH', value: "${env.PROVIDERS_DEV_BRANCH}"),
|
|
string(name: 'GIT_REPO_BRANCH', value: "${env.PROVIDERS_RELEASE_BRANCH}"),
|
|
booleanParam(name: 'SKIP_PUSH_TAG', value: true),
|
|
]
|
|
}
|
|
}
|
|
stage('Update cluster state') {
|
|
steps {
|
|
build job: 'infra/cluster-conf-update', parameters: [
|
|
string(name:"STACK", value:"${params.CLUSTER_STACK}"),
|
|
string(name:"VALUES_FILE", value:"values.keycloak.yaml"),
|
|
string(name:"VALUES_KEY", value:".keycloak.deployment.imageTag"),
|
|
string(name:"VALUES_VALUE", value:"\"${params.NEW_KEYCLOAK_IMAGE_TAG}\"")
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
failure {
|
|
mail(
|
|
to: 'charlyghislain@gmail.com', cc: 'yannick@valuya.be',
|
|
subject: "lifeislife REALEASE keycloak ${BUILD_NUMBER} failed",
|
|
body: "See job at ${BUILD_URL}"
|
|
)
|
|
}
|
|
}
|
|
} |