diff --git a/vars/devopsPipeline.groovy b/vars/devopsPipeline.groovy index d0926f4..133e143 100644 --- a/vars/devopsPipeline.groovy +++ b/vars/devopsPipeline.groovy @@ -47,12 +47,19 @@ def call(Map cfg = [:]) { def branch = env.BRANCH_NAME ?: 'main' def isPR = branch.startsWith('PR-') + def isMain = (branch == 'main' || branch == 'master') // PR par sirf CI. Production sirf main/master se jaata hai. - def deployable = cfg.runDeploy && !isPR && (branch == 'main' || branch == 'master') + def deployable = cfg.runDeploy && !isPR && isMain def rollbackTag = (env.ROLLBACK_TAG ?: '').trim() def isRollback = rollbackTag != '' - def imageTag = isRollback ? rollbackTag : "${env.BUILD_NUMBER}" + // Multibranch me HAR branch ka build number 1 se shuru hota hai. Agar tag me + // sirf build number rakha to main#1 aur feature#1 ek hi image tag bana ke + // ek doosre ko overwrite kar denge. Isliye non-main branch ka naam tag me. + def safeBranch = branch.replaceAll('[^A-Za-z0-9._-]', '-').toLowerCase() + def imageTag = isRollback ? rollbackTag + : (isMain ? "${env.BUILD_NUMBER}" + : "${safeBranch}-${env.BUILD_NUMBER}") def fullImage = "${P.registry}/${cfg.imageName}:${imageTag}" def commonEnv = [