在保护环境中,on_success设置并不会生效,因为保护环境被设计成不允许在环境内设置任何敏感数据。相反,您可以在流水线定义中使用资源组和管道设置on_success。
以下是一个示例,将on_success设置从保护环境移到流水线定义中:
在保护环境中:
resource "gitlab_environment" "protected_env" {
name = "my_protected_env"
protected = true
}
job "my_job" {
stage = "build"
script = "echo 'hello'"
environment {
name = "${gitlab_environment.protected_env.name}"
url = "${gitlab_environment.protected_env.external_url}"
on_stop = "stop_my_job"
on_success = "echo 'my job succeeded'"
}
}
修改后,在流水线定义中设置on_success:
resource "gitlab_environment" "protected_env" {
name = "my_protected_env"
protected = true
}
resource "gitlab_resource_group" "my_resources" {
name = "my_resource_group"
resources = [gitlab_environment.protected_env.id]
}
resource "gitlab_pipeline_schedule" "my_schedule" {
name = "my_pipeline"
description = "my pipeline description"
ref = "main"
cron = "0 2 * * *"
active = true
pipeline_parameters = {
ENVIRONMENT_NAME = gitlab_environment.protected_env.name
}
target_branch = "main"
}
resource "gitlab_pipeline" "my_pipeline" {
name = "my_pipeline"
ref = "main"
variables = {
ENVIRONMENT_NAME = gitlab_environment.protected_env.name
}
}
resource "gitlab_stage" "my_stage" {
name = "build"
pipeline = "${gitlab_pipeline.my_pipeline.id}"
}
resource "gitlab_job" "my_job" {
name = "my_job"
stage = "${gitlab_stage.my_stage.name}"
script = "echo 'hello'"
environment {
name = "${gitlab_environment.prot
下一篇:保护环系统的详细信息