问题标签 [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 回答
78 浏览

git - 如何使用附加的 Cloud Build Trigger 将当前 Cloud Source Repository 推送到另一个 Cloud Source Repository

我有这个 Cloud Source Repository,它有一个触发器,可以构建 docker 文件并推送到 Cloud Container Registry。我希望能够从构建文件中的一个步骤将此 repo 推送到另一个 Cloud Source Repository。但我收到以下错误:

这是我的构建配置文件:

0 投票
0 回答
172 浏览

git - 尝试推送到远程存储库时出现远程拒绝错误

我正在尝试clone --mirror一个云源存储库并将其推送到 gitlab 作为备份机制。当我第一次尝试这样做时,没有错误。但是,当我在将一些更改推送到云源存储库后再次对其进行测试时,我收到了以下错误。

下面是每次需要进行备份时触发的构建配置文件。

0 投票
1 回答
75 浏览

bash - 如何在新的 shell 中保留现有的环境变量

我知道我必须在这里做一些愚蠢的事情,但我正在尝试将环境变量传递给/bin/sh -c在 Cloud Build 中运行的命令。

我的 Cloud Build 文件如下所示:

我的 Cloud Build Trigger 设置了替换,当我查看构建详细信息时,它会显示设置的环境变量。

但是,该命令的yarn db:migrate作用就像没有设置环境变量一样。我相信这是因为它们没有从机器传递到命令。

知道我做错了什么吗?

这里的问题是,当我们调用 bin/sh 时,它会使用自己的环境变量创建一个新的 shell。当我阅读有关 SH/Dash 的手册时,我会在这里留下这个问题: 如何在新的 shell 中保留现有的环境变量?

0 投票
1 回答
29 浏览

google-cloud-build - 在 Google Cloud Build YAML 文件中使用 $() 运算符

我目前正在使用具有此步骤的 Google Cloud Build 构建管道

此配置的问题在于它将其视为'$(gcloud dataflow jobs list --filter="name=iot" --status=active --limit=1 --format="value(JOB_ID)")'字符串,而不是执行其中的命令。

所以,我的问题是,$()谷歌云构建 YAML 文件中可以有操作员吗?如何?

谢谢!

0 投票
1 回答
47 浏览

google-cloud-platform - 如何在 Cloud Build 的替换变量中执行“date -v -1m +%Y_%m”

我需要在我的云构建 yaml 文件中获取运行日期之前的月份和年份。尽我所能,我所做的一切都解决不了。

我看过有关在 /workspace 中存储环境变量的帖子,但也没有运气。

如何执行 $(date -v -1m +%Y_%m)?我只能得到 _$(date +%F) 来解决。

0 投票
0 回答
42 浏览

mongodb - 推送到 GitHub 后自动更新一个 Mongo 文档

我创建了一个 MongoDB 集群,其中有几个数据库。目前大家都去手动更新数据库里面的文档,不太理想。这就是为什么我创建了一个 GitHub 存储库,其中包含我们始终在数据库中更新的文件。之后,我们将所有更改推送到 GitHub 以跟踪谁在进行更改,并手动更新数据库。我进行了很多研究,但无法找到仅通过将更新推送到 GitHub 来自动化流程的理想方法。

我们对所有存储库都使用云构建,但找不到通过云构建脚本连接和更新数据库中文件的方法。我真的很感激所有的建议,谢谢。

0 投票
1 回答
77 浏览

google-cloud-platform - gcloud 构建提交替换无法正常工作。(错误:(gcloud.builds.submit)INVALID_ARGUMENT。)

我有以下配置:

如果我运行:

我收到以下消息:

如果我声明替换:

它运行,但替换只采用第一个变量,其他成为它的值:

0 投票
0 回答
35 浏览

google-cloud-platform - 有没有办法缓存我自己的 GCR 图像以避免每次构建都拉它?

我有一个构建,该图像存储在我的 GCR 中,我想减少时间,因为每次拉取都需要几分钟。有没有办法缓存此图像,以便每次都可以立即从缓存中获取?

所以我想以某种方式缓存这个'gcr.io/{Project name}/{name of my image}'作为每个构建,拉取 fs 层,等待,验证校验和,下载完成需要几分钟。所以我后来的构建步骤正如它所说的那样被缓存Already have image (with digest): gcr.io/{Project name}/{name of my image}。我基本上也想把这条线放在我的测试的顶部

0 投票
1 回答
48 浏览

git - 使 CloudBuild git push 最后一次提交到另一个 repo 中的分支

我在 repo_A 中有 branch_a(开发分支),在 repo_B(生产分支)中有 branch_b。两个存储库都在 Cloud Source 上。它们的历史是相同的,除了 branch_a 中的最后一次提交。

如何使 CloudBuild 将最后一次提交从 repo_A/branch_a 推送到 repo_B/branch_b?

CloudBuild 通过推送到 repo_A/branch_a 被触发。CloudBuild 将 repo_A/branch_a 提取到工作目录中

我设法将 repo_B/branch_b 添加为远程。但是当我尝试将“master”推送到 repo_B/branch_b 时,我得到:

git remote -v列出两个遥控器:repo_A 和 repo_B

CloudBuild 服务帐户可以访问两个存储库

0 投票
0 回答
21 浏览

google-cloud-build - 我需要 Google Cloud Build“最后一步”

问题:有些步骤在 K8b 中创建实体,无论构建中的任何其他步骤是否成功,最终都必须将其删除。

这是一个例子cloudbyild.yaml

因此,如果“清理步骤”之前的任何步骤失败,GKE 中的实体删除将不会发生。并且下一次 cloudbuild 运行不会发生在干净的集群上。

我在文档中找不到这种情况的任何解决方案。

而且我认为目前我可以在每一步都使用 bash 脚本来解决这个问题,如果出现崩溃,我需要:

  • 在 bash 脚本中捕获它;
  • 发出命令以清除 bash 脚本中的集群;
  • 然后使用非零代码退出脚本。每一步都是如此。

但在我看来,这不是一个很好的解决方案。也许有更好的解决方案?