pipeline {
agent any
parameters {
booleanParam(name: 'canaryOk', defaultValue: false, description: 'Indicates if canary deployment is healthy')
}
stages {
stage('Deploy Canary') {
steps { echo 'Deploying canary version' }
}
stage('Monitor Canary') {
steps { echo 'Monitoring canary health' }
}
stage('Promote or Rollback') {
steps {
script {
if (params.canaryOk) {
echo 'Promoting to full deployment'
} else {
echo 'Rolling back canary deployment'
}
}
}
}
}
}A Jenkins pipeline that deploys a canary, monitors it, then promotes or rolls back based on a parameter.