重现的步骤。
预期结果。构建一个新函数并重新部署。
实际结果:Cloud Build被触发,并观察到一个新的ACTIVE版本,但仍然返回旧的内容。从控制台下载的源代码是旧的。但是,在不做修改的情况下,手动重新部署就可以了(只要进入编辑选项卡,点击部署就可以了)。
注:这个问题类似于 这个. 然而,这里我们使用的是Python 3.7,而不是Node.js的代码,并且按照 GC发行说明 Python 3.7已经完全发布,并没有进入测试版。
那么是BUG还是我遗漏了什么?
这个问题在Google的问题跟踪器中被跟踪。此处,在哪里处理。解决完毕后,应该会有一个好的答案。
解决方法已经找到了,只需将现有的 cloudbuild.yaml 重新写入以下代码即可。
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['functions', 'deploy', 'la-repo-function-1', '--source','.','--trigger-http', '--runtime', 'python37', '--entry-point', 'greetings_http']
换句话说,source param是必须的(但它的存在不会被自动验证)