【问题标题】:Terraform GCP Cloud function using Github使用 Github 的 Terraform GCP Cloud 功能
【发布时间】:2019-11-04 10:08:57
【问题描述】:

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

我设法做到这一点,压缩函数并使用 Terraform 将其复制到云存储中,但我不喜欢这个工作流程,因为我必须运行一个脚本才能开始。我宁愿在 Github 上做一个 PR,然后在 GCP 中查看新代码。

我已经将 Google Cloud Source Repositories 设置为从我的 Github 获取源代码。

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

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

云功能/训练数据

函数文件夹里面有两个文件:

  • “main.py”
  • “requirements.txt”

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

【问题讨论】:

  • 你能分享一下你目前尝试过的 Terraform 代码吗?
  • 很遗憾我不能,为Big Corp工作。我只需要了解“source_repository”的格式。
  • 您能否生成一个不包含任何专有内容的minimal reproducible example
  • 有什么解决办法吗?

标签: google-cloud-platform cloud google-cloud-functions terraform serverless


【解决方案1】:

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

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

那么对我有用的结果网址是......

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

希望这会有所帮助!

【讨论】:

  • 这正是我想出的并让它发挥作用!恕我直言,文档可以写得更好。
  • 这行得通。确保 terraform 使用的服务帐户对源代码库具有读取权限。
  • @lilline 服务帐户有权读取/写入源代码库,但仍无法部署代码。该功能可能正在创建中。等待创建 CloudFunctions 函数时出错:错误代码 13,消息:无法检索函数源代码
【解决方案2】:
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
   }
}

【讨论】:

    猜你喜欢
    • 2020-11-25
    • 2020-10-12
    • 1970-01-01
    • 2021-10-28
    • 2020-05-31
    • 2021-03-29
    • 2022-01-07
    • 1970-01-01
    • 2021-12-17
    相关资源
    最近更新 更多