Интеграция результатов плана Terraform в Jenkins - PullRequest
0 голосов
/ 03 марта 2020

Я написал декларативный конвейер, используя Jenkinsfile в root репо. Трубопровод очень прост. он дозирует terraform plan и terraform apply

Можно ли взять вывод terraform plan, отобразить его в Jenkins GUI, а затем запросить у пользователя ввод, если он захочет go впереди с terraform apply?

1 Ответ

1 голос
/ 03 марта 2020

Никогда не пробовал, но Дженкинс имеет шаг ввода как часть плагина конвейера.

Кроме того, terraform позволяет вам сохранять выходные данные плана , а затем использовать этот сохраненный вывод при запуске terraform apply. Флаг -auto-approve означает, что вы можете пропустить необходимость ввода данных пользователем в заявке.

Я не думаю, что можно попросить пользователя ввести данные в середине поля. terraform apply, потому что шаг ввода - это шаг.

Поэтому я думаю, что конвейер должен выглядеть примерно так:

pipeline {
    agent { ... }
    stages {
        stage('build') {
            steps {
                sh 'terraform plan -out=./my-plan'
                input message: "Apply plan?"
                sh 'terraform apply -auto-approve ./my-plan' 
            }
        }
    }
}

Если инфраструктура изменяется между планом и тогда возникнут проблемы.

...