我将Google Cloud函数的源定义为Google Cloud存储库。 我更改了函数源代码,提交并通过“ git push --all google”将其推入存储库。 我在存储库中看到了功能代码的新版本,但是云功能采用了旧版本。
所以我需要部署新版本的函数。 我知道我无法使用控制台做到这一点。 当我尝试使用SDK进行部署时,我会收到
gcloud functions deploy json_in_out --runtime nodejs8 --source https://source.developers.google.com/projects/mot_cz/repos/functions/demo/master/paths/json_in_out --trigger-http
ERROR: (gcloud.functions.deploy) ResponseError: status=[400], code=[Bad Request], message=[The request has errors
Problems:
Source repository URL is invalid https://source.developers.google.com/projects/mot_cz/repos/functions/demo/master/paths/json_in_out does not match the expected pattern
答案 0 :(得分:0)
如果不部署修改后的功能,则不会进行任何更改。将代码推送到源代码管理是不够的-您必须部署新代码才能开始运行它。
答案 1 :(得分:0)
将代码推送到Cloud Source Repository并将其部署为Cloud Function的新版本是两件事,就像@Doug Stevenson提到的那样。但是,您可以使用Cloud Build轻松地自动执行此过程。一个基本的实现包括两个步骤:
1。使用以下命令将cloudbuild.yaml文件添加到源代码中:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['functions', 'deploy', '[YOUR_DEPLOYED_FUNCTION_NAME]', '[YOUR_FUNCTION_TRIGGER]', '--runtime', '[YOUR_RUNTIME]', '--entry-point', '[YOUR_FUNCTION_NAME_IN_CODE]']
2。在Developer Console设置中创建一个构建触发器,以便在每次提交到存储库中的特定分支或标签时都部署代码。
您会发现一个更复杂的用例here,其中涉及在需要时进行测试。