问题标签 [cloudbuild.yaml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
645 浏览

go - 无法在 CloudBuild 中拉取 golang 映像

我创建了一个简单的 go 服务器,并按照文档在 GCE 上部署服务器。但是我在构建时收到以下错误。我错过了什么?我也尝试过使用特定的版本号(即“1.16”),但仍然失败并出现类似的错误消息。

0 投票
0 回答
86 浏览

google-cloud-platform - 可以构建 mono repo 并将服务部署到 GKE

我们期待将多个 python 脚本保存到我们计划保留的单个 GitHub 存储库文件夹结构中

wheredeployment_script-1将作为单个部署和deployment_script-2每个服务的另一个部署工作。

如果有人可以请提供有关如何保留 YAML 文件并使用云构建更好地构建它的建议。

0 投票
2 回答
939 浏览

bash - 将小 bash 脚本添加到 cloudbuild.yaml

我有一个cloudbuild.yaml谷歌云(GCP)的文件。我想使用一个简单的 bash 脚本(或任何其他方式)来version获取。如何将此添加到我的文件中?package.json$(node -p -e "require('./package.json').version")cloudbuild.yaml

我试着把脚本放进去,substitution但没有用。

0 投票
1 回答
14 浏览

google-cloud-platform - 如何识别 cloudbuild 子任务

我有一个 CloudBuildcloudbuild.yaml文件,它定义了将 GCE 映像以.vmdk格式导出到存储桶的任务。

gcloud compute images export工作正常;该命令触发子 CloudBuild 进行转换并上传到 gcs。

新版本中没有标识“父”调用者的字段,这些字段为空: Provider, Source, Ref Commit, Trigger Id, Trigger Type, Trigger Name,Trigger Description

我如何识别这些子进程?

0 投票
1 回答
712 浏览

python - 如何在谷歌云构建中访问 git 标签?

我有一个 Cloud Source Repository,我在其中维护我的 python 包的代码。我设置了两个触发器:

  • 在每个分支上的每次提交上运行的触发器(这个安装我的 python 包并测试代码。
  • 在推送的 git 标签上运行的触发器(安装包、测试、构建工件,并将它们部署到我的私有 pypi 存储库)。

在第二次触发期间,我想验证我的版本号是否与 git 标签匹配。在 setup.py 文件中,我添加了代码:

我的 cloudbuild.yaml 的开头如下所示:

这在 CircleCi 上完美运行,但在 Cloud Build 上我收到错误消息:

因此,Cloud Build 文档TAG_NAME中指定的变量似乎不包含 git 标签。

如何访问 git 标签来验证它?

0 投票
1 回答
164 浏览

google-cloud-platform - 如何使用 Cloudbuild 将具有不同标签的 Docker 镜像与配置文件一起存储在 Container Registry 中?

我想将具有两个不同标签的图像存储在 Google Container Registry$BRANCH_NAME-$REVISION_IDlatest

我可以用一个标签保存它,但是当我尝试添加第二个标签时它失败了。我收到以下错误

我想这样做以确保我的 k8s 部署文件指向最新的图像。


更新

我能够做到

0 投票
1 回答
72 浏览

google-cloud-build - Cloudbuild - 使用来自不同步骤的自定义变量构建 docker 映像

我想实现以下构建过程:

  • environment根据构建分支决定 var 的值
  • 通过差异构建步骤保留此值
  • 使用此 var 将其传递build-argdocker build

这是我得到的一些 cloudbuild 配置:

问题在于第二步。如果我使用bash步骤图像,那么我没有docker可执行文件来构建我的自定义图像。

如果我使用gcr.io/cloud-builders/docker步骤图像,那么我将无法执行 bash 脚本。在该args字段中,我只能传递docker可执行文件的参数。这样我就无法提取environment我在构建步骤中坚持的价值。

我设法完成两者的方法是使用我自己的自定义预构建映像,其中包含两者bashdocker可执行文件。我在容器注册表中有该映像,并将其用作构建步骤映像。但这需要我这边的一些定制工作。我想知道是否有更好、更标准化的方式使用来自cloudbuild.

资料来源:

0 投票
1 回答
54 浏览

google-cloud-platform - 在 GCP cloudbuild.yaml 中指定与“名称”不同的“执行函数”

如何在我的 cloudbuild.yaml 文件中指定与 GCP 中实际函数名称不同的“执行函数”?

例如:

  • 我有一个用python编写的云函数,称为hello_world
  • 在我的 GCP 部署中,我想命名函数hello-world-devhello-world-prod它在构建时动态传递到 Triggers 变量中。
  • 构建失败,因为它期望调用该函数hello-world-dev或其他
  • 我确定有一个标志来指定执行函数,但我还没有找到它。

我的cloudbuild.yaml文件如下所示:

我尝试过的步骤

我尝试了以下标志:

  • --function
  • --call
  • --deploy

查看此文档:https ://cloud.google.com/functions/docs/deploying

在此处输入图像描述

0 投票
0 回答
89 浏览

google-cloud-build - 云构建错误 - python3 的拉取访问被拒绝

我已经使用 GCP 云构建在 Github 存储库上设置了触发器。Error response from daemon: pull access denied for python3, repository does not exist or may require 'docker login': denied: requested access to the resource is denied部署时出现错误。

以下是我的 cloudbuild.yaml

0 投票
0 回答
62 浏览

google-app-engine - GCP 应用引擎灵活的云构建超时问题

我正在尝试为我的 Node.js 应用程序设置管道。服务器托管在 google app engine flex env 上,我正在使用云构建来创建 CI/CD 管道。

出于某种原因,我从云构建日志中收到以下错误:

云构建日志错误

我根据我在 GCP 文档中阅读的内容设置了我的管道,但我真的不知道它为什么不起作用。

这是我的 app.yaml 文件:

应用程序.yaml

这是我的 cloudbuild.yml 文件的内容:

cloudbuild.yml

我试图在互联网上搜索它,发现一些与超时有关的东西,但只是如何将它们添加到 cloudbuild.yml 并且由于某种原因,当我添加它时它会崩溃。

现在,如果我删除超时,它将进入云构建中的一些无限循环,我发现添加超时可以解决这个问题。

如果我使用标准的应用程序引擎(不灵活),那么它可以工作,但我必须使用 flex。