Я создаю конвейер, используя jenkins, пытаясь добавить логику, в которой, если terraform-plan успешен, тогда только он продолжит применять, поэтому необходимо получить возвращаемое значение как 0/1/2 из команды sh terraform plan но получаю ошибку, как показано ниже:
+ gt
+ echo 2
2
C:/Users/Smi/.jenkins/workspace/Pipe_Groovy@tmp/durable-33bd46fb/script.sh: line 2: gt: command not found
+ status
C:/Users/Smi/.jenkins/workspace/Pipe_Groovy@tmp/durable-33bd46fb/script.sh: line 2: status: command not found
[Pipeline] }
Ниже приведен код:
sh "terraform init"
sh "terraform get"
sh "set +e; terraform plan -out=plan.out -detailed-exitcode; echo \$? > status"
def exitCode = readFile('status').trim()
def apply = false
echo "Terraform Plan Exit Code: ${exitCode}"
if (exitCode == "0") {
currentBuild.result = 'SUCCESS'
}
if (exitCode == "1") {
slackSend channel: '#ci', color: '#0080ff', message: "Plan Failed: ${env.JOB_NAME} - ${env.BUILD_NUMBER} ()"
currentBuild.result = 'FAILURE'
}
if (exitCode == "2") {
stash name: "plan", includes: "plan.out"
slackSend channel: '#ci', color: 'good', message: "Plan Awaiting Approval: ${env.JOB_NAME} - ${env.BUILD_NUMBER} ()"
try {
input message: 'Apply Plan?', ok: 'Apply'
apply = true
} catch (err) {
slackSend channel: '#ci', color: 'warning', message: "Plan Discarded: ${env.JOB_NAME} - ${env.BUILD_NUMBER} ()"
apply = false
currentBuild.result = 'UNSTABLE'
}
}
Пожалуйста, совет