【问题标题】:Automatically trigger a Cloud Build once it is created创建后自动触发 Cloud Build
【发布时间】:2021-07-16 13:39:58
【问题描述】:

我正在通过 Terraform 部署一系列 Cloud Build 触发器,但我还希望 Terraform 在每次部署的 Cloud Build 时触发一次,以便它可以进行初始部署。

Cloud Build 触发器用于部署 Cloud Functions(以及 Cloud Run 和可能的工作流)。我们可以在 Terraform 中部署这些功能,但我们希望让命令易于修改,因此我们不想在 Terraform 和 Cloud Build 配置上复制它。

【问题讨论】:

  • 您的全球管道是什么?是什么触发了你的 terraform?
  • 您好,我的 Terraform 是由 Cloud Build 触发的。在分支上推送时,它会应用 terraform

标签: google-cloud-build terraform-provider-gcp


【解决方案1】:

明确区分每个步骤的关注点对于您的管道的清晰度和发展性/可维护性非常重要。

  • 您有一个(一组)步骤来部署项目的基础架构(此处为您的 terraform)
  • 您有一个(一组)步骤在您的项目上运行流程(可以是 VM 上的 Ansible 脚本、触发 Cloud Functions、Cloud Run 或 Cloud Build 触发器)。

我很确定你可以在 Terraform 中添加这个触发器,但我强烈不建议你这样做。


编辑 1

我不清楚。在 terraform 部署之后,您必须在主管道中通过 API 运行触发器。然后,后续的触发就会通过Push到Git仓库来完成。

【讨论】:

  • 抱歉,我应该在原始帖子中准确说明,但是部署的 Cloud Build Triggers 然后部署 Cloud Functions。我们将其设置为 Cloud Build Trigger,因为我们希望在推送包含 Cloud Functions 的存储库时持续部署它们。我们可以使用 Terraform 部署函数,但我们不需要在 Terraform 和每个函数的 Cloud Build 触发器文件中维护使用的命令。更新帖子
  • 我尝试更新。我很好理解:您使用 Terraform 创建触发器,并且希望在创建之后运行一次。然后,当您更新 git 代码时将使用触发器。让我知道它是否更清楚。如果没有,请尝试共享架构或代码片段。
  • You have to run your trigger by API after the terraform deployment, in your main pipeline. 您能否对此进行更多解释或链接到更多资源?不清楚主管道是什么意思。
  • 我指的是 CI/CD 管道。您可以运行 terraform 来设置基础架构,然后可以运行命令来配置基础架构(SSH、Ansible 等)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 2017-08-27
  • 2012-01-09
  • 1970-01-01
相关资源
最近更新 更多