Reputation: 771
I want to create a Google Cloud Function using Terraform but want to pull the source code from Github.
I managed to do this zipping up the function and copying it into Cloud Storage using Terraform, but I do not like this workflow as I have to run a script to kick things off. I rather just do a PR on Github and see the new code in GCP.
I already setup Google Cloud Source Repositories to source from my Github.
The Terraform doc to use the "source_repository" argument is not clear to me. What I would like to do is just grab the source from HEAD on the master branch.
This function source code is located under the sub-folder:
“cloud-functions/training_data”
There are two files inside the function folder:
I just would like to know how to specify the “source_repository” argument in this case.
Upvotes: 0
Views: 1736
Reputation: 804
source_repository = {
url = https://source.developers.google.com/projects/kalefive-project/repos/kalefive-functions-repository/moveable-aliases/master/paths/src/functions/bin
}
incase the above syntax is not working just use it without an equal sign.
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
}
}
Upvotes: 0
Reputation: 26
I recently came across this problem as well.
The documentation says to format the url value to be, https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*
To get this to work...hypothetically, say my source code and my repository had the following information...
project: kalefive-project
repo: kalefive-functions-repository
branch: master
directory_in_repo_with_src: src/functions/bin
Then the resulting url that worked for me was...
source_repository = {
url = https://source.developers.google.com/projects/kalefive-project/repos/kalefive-functions-repository/moveable-aliases/master/paths/src/functions/bin
}
Hope this helps!
Upvotes: 1