具有云功能的GCP Cloud构建未部署最新代码

时间:2020-03-21 06:35:40

标签: google-cloud-platform continuous-integration google-cloud-functions google-cloud-build

我正在尝试使用Google Cloud Build设置CI / CD管道,以便通过GitHub存储库部署Google Cloud Functions。

我设法创建了触发器,每当我将更改推送到master分支时,都会触发构建。但是在增加部署和“云功能版本”后,当我调用云功能时,它仍会执行旧功能。

以下是buildconfig.yaml

steps:
- name: gcr.io/cloud-builders/git
  args: ['clone', 'https://github.com/mayuran19/GCP-CloudFunction']
- name: gcr.io/cloud-builders/git
  args: ['pull', 'https://github.com/mayuran19/GCP-CloudFunction', 'master']
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['functions', 'deploy', 'function-1', '--trigger-http', '--runtime', 'nodejs8', '--entry-point', 'helloWorld']
  dir: './'

1 个答案:

答案 0 :(得分:1)

调试Cloud Build具有挑战性,但我认为您缺少正确的部署源。

git clone ...步骤创建了/workspace/GCP-CloudFunction

但是您gcloud functions deploy ...来自(默认== /workspace)。

您需要指向gcloud functions deploy ... --source=./GCP-CloudFunction。 (因为您在/workspace中;或者明确地在--source=/workspace/GCP-CloudFunction中。)

一种有用的调试机制是添加例如busybox的{​​{1}}步骤,以确保工作区包含您期望的内容。