我正在尝试使用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: './'
答案 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}}步骤,以确保工作区包含您期望的内容。