使用Github的Terraform GCP Cloud功能

时间:2019-06-21 14:31:47

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

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

我设法通过使用Terraform压缩功能并将其复制到Cloud Storage中,但是我不喜欢此工作流程,因为我必须运行脚本来开始工作。我宁愿只是在Github上进行PR,然后在GCP中查看新代码。

我已经设置了Google Cloud Source Repository来从我的Github中获取资源。

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

此功能源代码位于子文件夹下:

云功能/ training_data

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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
}

希望这会有所帮助!

答案 1 :(得分:0)

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