【问题标题】:GCP Cloud build with cloud function doesn't deploy the latest code具有云功能的 GCP Cloud 构建未部署最新代码
【发布时间】:2020-03-21 06:35:40
【问题描述】:

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

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

下面是 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: './'

【问题讨论】:

  • 您现在重试了吗?函数需要一些时间来推出所有实例。
  • @guillaumeblaquiere,是的,我做到了,我认为这不是问题,因为部署版本增加了。这意味着我希望部署完成并准备好使用。谢谢

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


【解决方案1】:

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

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

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

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

一个有用的调试机制是添加例如busybox 步骤 ls -la /workspace 以确保工作区包含您所期望的内容。

【讨论】:

  • @DazWikin,非常感谢,它成功了,在快速搜索中找不到太多关于如何做到这一点的资源。
  • 超级!我同意可以改进文档。
猜你喜欢
  • 2022-09-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-22
  • 2022-08-19
  • 1970-01-01
  • 2021-02-02
  • 2020-11-09
  • 1970-01-01
相关资源
最近更新 更多