问题标签 [google-cloud-build]

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 投票
2 回答
1675 浏览

google-cloud-platform - 您如何增加 Google Cloud Build 中的 inotify 观察者数量?

  • RUN cat /proc/sys/fs/inotify/max_user_watchesDocker for Mac524288
  • RUN cat /proc/sys/fs/inotify/max_user_watches位于Google Cloud Build 的 Docker8192

请参阅https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers#the-technical-details以供参考。

0 投票
0 回答
62 浏览

continuous-deployment - 如何根据 Docker 注册表中的更改触发 Google Cloud Build

很明显,简短的回答是“无法完成”。Google Cloud Console 目前提供这些作为构建触发器的选项:

在此处输入图像描述

但是,是否有一些我错过的解决方法——或者知道在 2019 年初可能支持 Docker 注册表作为触发器?

我寻找的是分离“源”和“部署”存储库(出于业务和组织原因)。我希望一个团队将逻辑“丢弃”为 Docker 映像,另一个 repo(和团队)将其拉到部署中。

0 投票
1 回答
748 浏览

docker - 创建多架构清单

我正在尝试使用 Google Cloud Build 构建多架构映像和支持清单,以便我可以在 amd64 和 arm 处理器上运行我的容器。我可以成功构建两个图像,但是我无法生成必要的多架构清单...获取我刚刚生成的图像的清单错误不存在。

这是失败的阶段:

- name: 'gcr.io/cloud-builders/docker' id: 'manifest' env: - 'DOCKER_CLI_EXPERIMENTAL=enabled' args: - 'manifest' - 'create' - 'gcr.io/$PROJECT_ID/village:$COMMIT_SHA' - 'gcr.io/$PROJECT_ID/village:arm32v6' - 'gcr.io/$PROJECT_ID/village:amd64' waitFor: ['amd64', 'arm']

这会产生错误:

no such manifest: gcr.io/village/village:arm32v6 Already have image (with digest): gcr.io/cloud-builders/docker

我构建的上一步导致:Step #1 - "arm": Successfully tagged gcr.io/village/village:arm32v6.

在生成多架构清单之前,我是否需要以某种方式推送单个图像?推送图像后是否可以继续运行 cloud-build 命令?

0 投票
1 回答
1202 浏览

google-cloud-functions - 使用 Cloud Function 触发云构建管道

我正在尝试创建一个云函数来侦听 cloudbuilds 主题并进行 API 调用以触发构建。我想我的 index.js 文件中缺少一些东西(我是 Node.js 的新手)。您能否提供一个对 Cloud Build API 进行 API 调用的 Cloud Functions 示例?

这是我的功能:

我正在执行命令gcloud config config-helper --format='value(credential.access_token)',复制令牌,并将其作为变量 accessToken 的值。但这对我不起作用。

这是错误:{ error: { code: 403, message: 'The caller does not have permission', status: 'PERMISSION_DENIED' } }

0 投票
0 回答
133 浏览

maven - cli 的 GAE 成功,Cloud Build 的失败。错误:未找到

我有一个部署到 Google App Engine 并在从命令行部署时工作的 Java 应用程序。当我从 Cloud Build 运行该构建时,该构建显示为绿色。当我点击 URL 时,我收到一条消息错误:未找到。请注意,我已经为这篇文章替换了我的 GAE 项目的名称和在其中运行的服务名称。

以下是我从 shell 运行它们时的命令:

这是 cloudbuild.yaml 的内容,它让我在 Cloud Build 中开了绿灯:

最后一步是第 5 步。这是来自 Cloud Build Logs 的该步骤的结果。

服务启动时的日志条目没有显示任何错误。

0 投票
0 回答
61 浏览

authentication - 创建 Cloud Build 触发器的身份验证问题

我似乎已经让我的 Google/Github 身份验证进入了某种糟糕的状态。我正在尝试(反复)通过以下步骤创建 Github 构建触发器:

  1. https://console.cloud.google.com/cloud-build/triggers点击“创建触发器”
  2. 选择 Github 并选中同意框。
  3. 登录我的 Github 帐户。这成功了,我看到了我的存储库和我的组织的存储库的列表。
  4. 无论我选择什么存储库,我都会看到此错误:

我们这边有问题

我尝试过退出和登录我的 Github 和 Google 帐户(包括清除所有 cookie),但没有任何帮助。我还要求另一位管理员创建触发器,他看到了相同的错误,这意味着该问题必须在 Google 和 Github 之间以某种方式相关,并且不是特定于我的个人帐户?

如果有人以前看过这个或有任何建议,那将是一个很大的帮助。谢谢!

0 投票
1 回答
146 浏览

json - 如何禁用 artifact-[build-no].json 文件的创建?

当我使用 Cloud Build 从 GitHub 构建一个 Maven 项目时(导致存储桶中的 jar 文件),我将一个额外的文件上传到我的存储桶,该文件指定了已构建的文件(artifacts-[build-no].json)。该文件对每个构建都有一个唯一的名称,因此存储桶会被大量不需要的文件填满。有没有办法禁用该文件的创建?

0 投票
1 回答
245 浏览

google-cloud-platform - 从 Cloudfunctions 提交 Cloudbuild 作业时出错,如果

希望这对于比我知识更深的人来说是一个简单的...

我有一个 Cloudfunction 响应 webhook 调用以使用 API 将作业提交到 Cloudbuild。这很好用,只是现在我们有一些工作需要使用来自不同项目的 KMS 密钥。

将其包含在 cloudbuild.yaml 中,提交 Cloudbuild 作业的 api 调用返回:

我尝试将 Cloudfunction 和 Cloudbuild 服务帐户从调用帐户添加到托管 KMS 的帐户中,包括我能想到的所有内容,包括所有者。

这篇文章有简单明了的说明如何在另一个账户中访问 Container Registry 和其他服务,但没有关于 KMS 的内容。这个错误似乎不会在搜索中触发任何有意义的结果,而且我看起来一点也不熟悉。

谢谢你的帮助。

0 投票
1 回答
223 浏览

maven - 如何使用 Google Cloud 构建执行 Maven 发布插件

我尝试使用 google cloud build 来构建托管在 Github 上的 Spring Boot 应用程序。我有一个特定的触发器来执行我的项目的 Maven 版本。

但我没有找到如何配置 git、Maven 和 cloud-build。

0 投票
3 回答
439 浏览

docker - 在 Google Cloud Build 上部署 Golang AppEngine 会产生无限构建

我正在尝试设置 Cloud Build 管道以将应用程序部署golang到 App Engine,但它似乎产生了自身的无限版本,然后超时。

首先,这是我的配置。

以下是相关部分app.yaml

当我部署到已将其配置为监视的分支时,它会很好地开始构建,并完成第 0 步。然后它开始第 1 步,即gcloud app deploy,它似乎递归地生成了另一个管道实例(请参阅下面的日志)。这种情况一直持续到一切超时。

这是日志的开头(接近尾声,您会看到它再次在第 1 步中递归地开始第 0 步)。

这种情况一直持续到我手动终止最后一个构建:

我试过的:

  • 从命令中删除“--stop-previous-versions”标志。
  • 挂载gopath在不同的卷中,以防导致 gcloud 递归地进入其中。
  • 只运行第 1 步,结果相同。

请参阅附加的实际构建生成的屏幕截图: 在此处输入图像描述