CMDB-Server/Jenkinsfile

70 lines
1.7 KiB
Groovy

pipeline {
agent any
parameters {
booleanParam(name: 'RUN_DEPLOY', defaultValue: true, description: 'true: run deploy / false: run destory')
}
environment {
AWS_ACCESS_KEY_ID = credentials('aws-access-key-id') // JenkinsのCredentialで設定したキー
AWS_SECRET_ACCESS_KEY = credentials('aws-secret-access-key') // 同じくCredentialで設定したシークレットキー
}
options {
skipDefaultCheckout(true)
}
stages{
stage("checkout") {
when {
expression { return params.RUN_DEPLOY }
}
steps {
// Iacコードを取得
checkout scm
}
}
stage("terraform init") {
when {
expression { return params.RUN_DEPLOY }
}
steps {
// 初期化
dir('CMDB'){
sh "terraform init"
}
}
}
stage("terraform plan") {
when {
expression { return params.RUN_DEPLOY }
}
steps {
// 実行計画
dir('CMDB'){
sh "terraform plan -out=plan.out"
}
}
}
stage("terraform apply") {
when {
expression { return params.RUN_DEPLOY }
}
steps {
// 実行
dir('CMDB'){
sh "terraform apply plan.out"
}
}
}
stage("terraform destroy") {
when {
expression { return !params.RUN_DEPLOY }
}
steps {
dir('CMDB') {
sh "terraform destroy -auto-approve"
}
}
}
}
}