使用 Github 的 Terraform GCP 云功能

Terraform GCP Cloud function using Github

我想使用 Terraform 创建一个 Google Cloud Function,但想从 Github 中提取源代码。

我设法压缩了函数并使用 Terraform 将其复制到云存储中,但我不喜欢这个工作流程,因为我必须 运行 一个脚本来启动它。我宁愿只是在 Github 上做一个 PR 并在 GCP 中查看新代码。

我已经将 Google 云源存储库设置为来自我的 Github。

我不清楚使用“source_repository”参数的 Terraform 文档。我想做的只是从 master 分支上的 HEAD 获取源代码。

此函数源代码位于子文件夹下:

cloud-functions/training_data

函数文件夹内有两个文件:

我只想知道在这种情况下如何指定“source_repository”参数。

我最近也遇到了这个问题。

documentation 表示将 url 值格式化为 https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*

为了让它工作...假设,假设我的源代码和我的存储库具有以下信息...

project: kalefive-project
repo: kalefive-functions-repository
branch: master
directory_in_repo_with_src: src/functions/bin

然后对我有用的 url 是...

source_repository = {
  url = https://source.developers.google.com/projects/kalefive-project/repos/kalefive-functions-repository/moveable-aliases/master/paths/src/functions/bin
}

希望对您有所帮助!

source_repository = {
  url = https://source.developers.google.com/projects/kalefive-project/repos/kalefive-functions-repository/moveable-aliases/master/paths/src/functions/bin
}

如果上面的语法不起作用,只需使用不带等号的语法。

resource "google_cloudfunctions_function" "js_function" {
    source_repository  {
      url = https://source.developers.google.com/projects/kalefive-project/repos/kalefive-functions-repository/moveable-aliases/master/paths/src/functions/bin
   }
}