我想使用Terraform创建Google Cloud Function,但想从Github中提取源代码。
我设法通过使用Terraform压缩功能并将其复制到Cloud Storage中,但是我不喜欢此工作流程,因为我必须运行脚本来开始工作。我宁愿只是在Github上进行PR,然后在GCP中查看新代码。
我已经设置了Google Cloud Source Repository来从我的Github中获取资源。
我不清楚使用“ source_repository ”参数的Terraform文档。我想做的就是从 master 分支上的 HEAD 获取源代码。
此功能源代码位于子文件夹下:
“ 云功能/ training_data ”
函数文件夹中有两个文件:
在这种情况下,我只想知道如何指定“ source_repository”参数。
答案 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
}
}