Google cloud platform 使用Github实现Terraform GCP云功能

Google cloud platform 使用Github实现Terraform GCP云功能,google-cloud-platform,cloud,google-cloud-functions,terraform,serverless,Google Cloud Platform,Cloud,Google Cloud Functions,Terraform,Serverless,我想使用Terraform创建一个Google云函数,但想从Github获取源代码 我设法利用Terraform将函数压缩并复制到云存储中,但我不喜欢这个工作流,因为我必须运行脚本来启动它。我宁愿在Github上做一个PR,然后在GCP中查看新代码 我已经将Google云源代码库设置为从我的Github获取源代码 我不清楚使用source_repository参数的Terraform文档。我想做的就是从主分支的头部抓取源代码 此函数源代码位于子文件夹下: “云功能/培训数据” 函数文件夹中有两个

我想使用Terraform创建一个Google云函数,但想从Github获取源代码

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

我已经将Google云源代码库设置为从我的Github获取源代码

我不清楚使用source_repository参数的Terraform文档。我想做的就是从主分支的头部抓取源代码

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

“云功能/培训数据”

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

“main.py” “requirements.txt”
我只是想知道在这种情况下如何指定“source\u repository”参数。

我最近也遇到了这个问题

要将url值格式化为,https://source.developers.google.com/projects/*/repos/*/可移动别名/*/路径/*

假设我的源代码和存储库中有以下信息

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
   }
}

你能和你到目前为止尝试过的东西共享Terraform代码吗?不幸的是,我不能,在大公司工作。我只需要了解源代码库的格式。你能制作一个不包含任何专有内容的版本吗?好的,任何解决方案吗?这正是我想出来的,并让它工作起来了!文档可以更好地写在imho中。这很有效。确保terraform使用的服务帐户对源repo具有读取权限。@lilline服务帐户对源repo具有读取/写入权限,但仍然无法部署代码。该函数可能正在创建中。等待创建CloudFunctions函数时出错:错误代码13,消息:检索函数源代码失败