fix: params null-safe + post block node-safe
This commit is contained in:
parent
45cfa9fc1a
commit
b9a3e06ff2
23
Jenkinsfile
vendored
23
Jenkinsfile
vendored
@ -9,7 +9,8 @@ pipeline {
|
|||||||
environment {
|
environment {
|
||||||
REGISTRY = '51.195.4.170:5000'
|
REGISTRY = '51.195.4.170:5000'
|
||||||
IMAGE_NAME = 'swim/demo-app'
|
IMAGE_NAME = 'swim/demo-app'
|
||||||
IMAGE_TAG = "${params.ROLLBACK_TAG?.trim() ? params.ROLLBACK_TAG : env.BUILD_NUMBER}"
|
// Elvis chain: params maujood na ho to bhi NPE nahi
|
||||||
|
IMAGE_TAG = "${(params.ROLLBACK_TAG ?: '').trim() ?: env.BUILD_NUMBER}"
|
||||||
// Jenkins container ke andar workspace /var/jenkins_home/... hai,
|
// Jenkins container ke andar workspace /var/jenkins_home/... hai,
|
||||||
// par docker daemon HOST par chalta hai jahan wahi folder
|
// par docker daemon HOST par chalta hai jahan wahi folder
|
||||||
// /opt/devops/data/jenkins/... par hai. -v ke liye HOST ka path chahiye.
|
// /opt/devops/data/jenkins/... par hai. -v ke liye HOST ka path chahiye.
|
||||||
@ -32,7 +33,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stage('Test') {
|
stage('Test') {
|
||||||
when { expression { !params.ROLLBACK_TAG?.trim() } }
|
when { expression { !(params.ROLLBACK_TAG ?: '').trim() } }
|
||||||
steps {
|
steps {
|
||||||
sh '''
|
sh '''
|
||||||
# container ka path -> host ka path badlo
|
# container ka path -> host ka path badlo
|
||||||
@ -49,7 +50,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stage('Build image') {
|
stage('Build image') {
|
||||||
when { expression { !params.ROLLBACK_TAG?.trim() } }
|
when { expression { !(params.ROLLBACK_TAG ?: '').trim() } }
|
||||||
steps {
|
steps {
|
||||||
sh '''
|
sh '''
|
||||||
docker build \
|
docker build \
|
||||||
@ -62,7 +63,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stage('Smoke test image') {
|
stage('Smoke test image') {
|
||||||
when { expression { !params.ROLLBACK_TAG?.trim() } }
|
when { expression { !(params.ROLLBACK_TAG ?: '').trim() } }
|
||||||
steps {
|
steps {
|
||||||
sh '''
|
sh '''
|
||||||
CID=$(docker run -d -P ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG})
|
CID=$(docker run -d -P ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG})
|
||||||
@ -79,7 +80,7 @@ assert r['version'] == '${IMAGE_TAG}', 'version galat!'
|
|||||||
}
|
}
|
||||||
|
|
||||||
stage('Push to registry') {
|
stage('Push to registry') {
|
||||||
when { expression { !params.ROLLBACK_TAG?.trim() } }
|
when { expression { !(params.ROLLBACK_TAG ?: '').trim() } }
|
||||||
steps {
|
steps {
|
||||||
withCredentials([usernamePassword(credentialsId: 'registry-creds',
|
withCredentials([usernamePassword(credentialsId: 'registry-creds',
|
||||||
usernameVariable: 'REG_USER',
|
usernameVariable: 'REG_USER',
|
||||||
@ -112,8 +113,16 @@ assert r['version'] == '${IMAGE_TAG}', 'version galat!'
|
|||||||
|
|
||||||
post {
|
post {
|
||||||
always {
|
always {
|
||||||
sh 'docker image prune -f --filter "until=24h" || true'
|
script {
|
||||||
cleanWs()
|
// Agar pipeline node milne se PEHLE fail ho jaye, to yahan
|
||||||
|
// node context nahi hota - sh/cleanWs crash kar dete hain.
|
||||||
|
if (env.WORKSPACE) {
|
||||||
|
sh 'docker image prune -f --filter "until=24h" || true'
|
||||||
|
cleanWs()
|
||||||
|
} else {
|
||||||
|
echo 'Node context nahi mila - cleanup skip'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
success { echo "BUILD ${env.BUILD_NUMBER} SAFAL -> ${env.REGISTRY}/${env.IMAGE_NAME}:${env.IMAGE_TAG}" }
|
success { echo "BUILD ${env.BUILD_NUMBER} SAFAL -> ${env.REGISTRY}/${env.IMAGE_NAME}:${env.IMAGE_TAG}" }
|
||||||
failure { echo "BUILD ${env.BUILD_NUMBER} FAIL" }
|
failure { echo "BUILD ${env.BUILD_NUMBER} FAIL" }
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user