问题标签 [google-container-builder]

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 回答
1036 浏览

git - Google Cloud Source Repository 只做一个浅层克隆?

我们的代码托管在 GitHub 上。我们正在使用 Google Cloud Container Builder 来构建和打包我们的软件。为此,我们必须将我们的私有存储库连接到 Google Cloud Source Repository。不幸的是,镜像似乎是一个浅层克隆,因为我们的开发工具正在抱怨它。例如,SonarQube 无法为某些文件指责。

文档:

连接的存储库

如果您在 GitHub 或 Bitbucket 上已有存储库,则可以将其连接到您的 Cloud Source Repository。连接的存储库会自动与 Cloud Source Repository 同步。

有没有办法增加克隆的深度?或者如何制作一个完整的克隆?

0 投票
1 回答
2749 浏览

google-cloud-platform - 为什么我的 Container Builder 构建失败并显示“执行构建步骤后找不到一个或多个图像”

我不明白这个错误信息是什么意思。它发生在我的构建结束时,当构建完成并且图像被标记时。这是日志的结尾:

这是我的cloudbuild.yaml

我想这可能是暂时的失败,但我重试了构建,它又发生了。

0 投票
2 回答
103 浏览

git - 在 Google Cloud Container Builder 中使用 `git commit`

如何在 Container Builder 中将新文件提交到 git 存储库?构建步骤看起来很简单:

...但生成的命令以一种无效的方式包装 --author :

提交时还有其他方法可以传递作者吗?容器构建器是否有明确的“不要引用这个”命令?

更新01

下面的 Edmund 建议将等号分开应该可以解决此问题,但仍然会抛出未知用户的错误。这里的堆栈溢出问题:

提交而不设置 user.email 和 user.name

...表明这是因为作者标志不更新提交者,这是必需的。新的长格式应该是这样的:

.... 但这让我们回到了最初的问题,因为 Container Builder 似乎无法在不引用整个部分的情况下采用空格分隔的参数。

更新 02(已解决)

出于某种原因,git 在为 -c 标志使用带引号的字符串时似乎很好,因此现在在容器构建器中可以正常工作。该步骤现在如下所示:

0 投票
1 回答
1284 浏览

node.js - 使用服务帐户访问 Google Container 构建器日志 - 403 禁止错误

我有一个在 Google Container Builder 上触发构建的服务帐户。这工作正常,但现在我想使用该服务帐户检索构建日志。

这是获取日志的代码(令牌是使用google-auto-auth包获得的,这部分在其他地方运行良好,所以我真的不认为这是问题):

目前,尽管服务帐户可以访问以下角色,但此操作失败并显示 401 Unauthorized:

  • 管理 Kubernetes 引擎
  • 管理员存储
  • 存储中的管理对象
  • 云容器构建器
  • 读者云容器构建器
  • 读卡器存储对象

这是错误:

知道为什么请求失败并出现 403 吗?它可能来自缺少的范围吗?我只设置scopes: 'https://www.googleapis.com/auth/cloud-platform'到目前为止。

0 投票
3 回答
4098 浏览

docker - 将文件从 Google Cloud Container Builder 传递到 Docker 构建任务

语境

一个使用 Container Builder 构建的 Ruby on Rails 应用程序,用于 App Engine。我们要求 bundler 能够使用 SSH 密钥从私有 git 存储库安装依赖项。

SSH 密钥来自安全存储桶,它们通过 KMS 进行解密。这些步骤很好。但是,使用 Docker 构建容器的最后一步无法访问 SSH 密钥。

我以前对 Docker 没有任何丰富的经验,所以我认为这是一个简单的问题。

cloudbuild.yml

省略了一些标识符

deploy/git-prepare.sh — 这会执行一些 shell 命令来让 ssh 目录重新填充必要的信息。

Dockerfile

问题:

构建任务(使用构建触发器运行)失败并显示:

我有一种感觉,我没有掌握 Container Builder 和 Docker 共享卷和数据的方式。

0 投票
1 回答
466 浏览

maven - 找不到工件 - 云构建器步骤失败 (Google Cloud Builder)

google 容器构建器步骤之一失败,因为它依赖于上一步生成的文件。

buildspec 中的所有步骤都在一台机器上执行吗?请建议是否有更好的方法来做到这一点,或者我是否需要在构建规范中添加任何额外的步骤?

构建规范:

步骤 0:直接将 JAR 安装到 maven 本地 repo

第 1 步:依赖此 JAR 的 Gradle 构建

在步骤 0 成功而步骤 1 不成功的 cloud builder 的日志下方,步骤 1 找不到步骤 0 安装的 jar:

0 投票
1 回答
46 浏览

node.js - Cloud Container Builder 身份验证令牌问题

我尝试使用构建器在Cloud Container Builder上运行以下代码npm

当我这样做时,我得到了一个404 page not found错误。我该如何解决?

如果有帮助,我还尝试使用Data Loss Prevention API,但它给了我一个错误提示Getting metadata from plugin failed with error: Could not refresh access token.

谢谢!

0 投票
1 回答
118 浏览

git - 谷歌容器构建器,为新分支创建新命名空间

我正在尝试开发我的自动化构建。

所以我们想要实现的是,每当开发人员将代码推送到新分支时,它将根据该分支名称在 Kubernetes 中创建一个新的命名空间。然后我将在该命名空间中进行所有部署。

创建命名空间的最佳方法是什么?

当命名空间存在时会出现问题。所以,我打算改用文件,然后我可以通过

这是文件名.yaml:

现在我的问题是,如果我采用第二种方法,如何传递这个分支名称。如果我采用第一种方法,我不知道如何检查命名空间是否存在。

请帮忙。

谢谢。

0 投票
0 回答
385 浏览

google-cloud-platform - 在容器构建器 cloudbuild.yaml 脚本中检测构建失败

当我们遇到谷歌云构建失败时,我们希望与外部系统通信,最好直接从我们今天所在的 cloudbuild.yaml ( https://cloud.google.com/container-builder/docs/build-config ) 脚本仅在构建成功时通知。

构建失败会显示在容器注册表构建历史列表中,但是是否可以从 cloudbuild.yaml 中检测到这些失败并在它们发生时做些什么?

0 投票
0 回答
321 浏览

bitbucket - 如何将 Bitbucket Server 与 Google Container Builder 一起使用

我知道今天我们可以使用 Github、Atlassian Bitbucket (Cloud) 和 Google Code Repository。是否可以使用 BitBucket 服务器?我们确实有从 GCP 项目到 BitBucket 服务器的网络连接,我们将在其中进行容器构建。

任何文档/指针将不胜感激。我想使用 Google Container builder,但这是目前最大的障碍。