try git ref
Some checks are pending
Build Multiarch Container Image / call-reusable-workflow (push) Waiting to run
Some checks are pending
Build Multiarch Container Image / call-reusable-workflow (push) Waiting to run
This commit is contained in:
parent
b573cea026
commit
d1a55a0e39
1 changed files with 22 additions and 19 deletions
41
Jenkinsfile
vendored
41
Jenkinsfile
vendored
|
@ -6,24 +6,27 @@ pipeline {
|
||||||
REPO_NAME = env.GIT_URL.replaceFirst(/^.*\/([^\/]+?).git$/, '$1')
|
REPO_NAME = env.GIT_URL.replaceFirst(/^.*\/([^\/]+?).git$/, '$1')
|
||||||
}
|
}
|
||||||
stages {
|
stages {
|
||||||
|
|
||||||
stage("Build") {
|
stage("Build") {
|
||||||
when { tag "*" }
|
when { tag "*" }
|
||||||
parallel {
|
steps {
|
||||||
stage("aarch64") {
|
script {
|
||||||
agent { label "aarch64" }
|
def architectures = ["aarch64", "x86_64"]
|
||||||
steps {
|
def parallelStages = [:]
|
||||||
sh "podman build -t ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-aarch64 ."
|
|
||||||
sh "podman save -o aarch64.tar ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-aarch64"
|
for (arch in architectures) {
|
||||||
stash includes: "aarch64.tar", name: 'aarch64-image'
|
def nodeLabel = arch
|
||||||
}
|
|
||||||
}
|
parallelStages[arch] = {
|
||||||
stage("x86_64") {
|
node(nodeLabel) {
|
||||||
agent { label "x86_64" }
|
sh "podman build -t ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-${nodeLabel}-${env.BUILD_NUMBER} ."
|
||||||
steps {
|
sh "podman save -o ${nodeLabel}.tar ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-${nodeLabel}-${env.BUILD_NUMBER}"
|
||||||
sh "podman build -t ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-x86_64 ."
|
stash includes: "${nodeLabel}.tar", name: "${nodeLabel}-image"
|
||||||
sh "podman save -o x86_64.tar ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${env.BRANCH_NAME}-x86_64"
|
}
|
||||||
stash includes: "x86_64.tar", name: 'x86_64-image'
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
parallel parallelStages
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,16 +34,16 @@ pipeline {
|
||||||
when { tag "*" }
|
when { tag "*" }
|
||||||
agent any
|
agent any
|
||||||
steps {
|
steps {
|
||||||
unstash 'aarch64-image'
|
unstash "aarch64-image"
|
||||||
unstash 'x86_64-image'
|
unstash "x86_64-image"
|
||||||
|
|
||||||
sh "podman load -i aarch64.tar"
|
sh "podman load -i aarch64.tar"
|
||||||
sh "podman load -i x86_64.tar"
|
sh "podman load -i x86_64.tar"
|
||||||
|
|
||||||
sh '''
|
sh '''
|
||||||
podman manifest create ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME} \
|
podman manifest create ${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME} \
|
||||||
${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-aarch64 \
|
${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-aarch64-${BUILD_NUMBER} \
|
||||||
${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-x86_64
|
${CONTAINER_REGISTRY}/${REGISTRY_NAMESPACE}/${REPO_NAME}:${BRANCH_NAME}-x86_64-${BUILD_NUMBER}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
withCredentials([usernamePassword(credentialsId: "dockerhub", usernameVariable: "REG_USERNAME", passwordVariable: "REG_PASSWORD")]) {
|
withCredentials([usernamePassword(credentialsId: "dockerhub", usernameVariable: "REG_USERNAME", passwordVariable: "REG_PASSWORD")]) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue