问题标签 [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 投票
1 回答
1363 浏览

google-app-engine - 如何使用 Google Cloud Build 将 Spring Boot 项目部署到 Google App Engine?

我正在使用 maven 和 google cloud build 构建我的 spring boot 应用程序,但不知何故,无论是使用本地运行mvn appengine:run还是使用 Cloud Build 部署,我都会得到不同的部署结果。

如果我使用 本地运行mvn appengine:run,我可以按预期访问我的控制器。使用 Cloud Build,我收到404错误消息。

我的 cloudbuild.yaml 如下:

您如何建议配置云构建以便在谷歌应用引擎上构建和部署 Spring Boot 应用程序?


经过额外的挖掘,问题似乎与返回的某种错误有关:

从本地计算机使用部署时,我没有在堆栈跟踪中收到此消息mvn appengine:deploy

我的问题仍然存在,我该如何创建一个cloudbuild.yaml可以调用的mvn appengine:deploy

0 投票
0 回答
119 浏览

google-cloud-platform - 在谷歌云构建中运行不受信任的代码

我正在开发一项新的 CI 服务 (SaaS),并计划使用 Google Cloud Build 来实际执行构建。cloudbuild 服务帐户必须有权访问各种 GCP 服务(存储桶、数据存储等)。但在其中一个步骤中,它还运行不受信任的(即用户提供的)代码。我的问题:有没有办法锁定 cloudbuild.yml 配方中的各个步骤以无法访问 GCP?理想情况下,该步骤只能访问文件系统和公共 Internet(以下载外部依赖项),而不能访问其他任何内容。

0 投票
1 回答
569 浏览

docker - 谷歌云构建遇到“无法满足的约束”错误(图像在本地构建)

我的 Dcker 文件

我能够在本地构建图像。

但是当谷歌(云构建)尝试构建图像时,我收到以下错误:

在线快速搜索表明repo 可能处于脱机状态,但我怀疑情况是否如此。似乎 Google Cloud 构建阻止了对存储库的访问。还有其他人遇到这个问题吗?有关如何解决此问题的任何指示?

0 投票
1 回答
1120 浏览

maven - 如何将持久存储连接到 Google Cloud Build?

maven spring-boot在 appengine 上部署了一个项目,我正在使用 Google Cloud Build 使用以下构建器映像构建和部署:https ://github.com/strudeau/mvn-gcloud-builder

执行构建时,大部分时间都花在从 maven 下载插件和依赖项上。我希望能够将持久卷挂载到这个 Docker 映像,以便能够保留一个持久.M2目录,我的插件和依赖项将被存储在其中,以避免每次构建时都下载它们。

Google Cloud Filestore如果不是因为您必须提供 1TB 或更多的数据,这对于小型非生产利润项目来说变得非常昂贵,这可能是理想的。

  • 有没有办法在 docker 镜像上挂载一个存储桶作为文件系统?
  • 我可以挂载Google Persistent Disk吗?
0 投票
1 回答
1440 浏览

git - cloudbuild.yaml 包含不同的云构建器配置

我的项目被拆分为 gitmodules,如下所示:

我正在尝试从父存储库构建子模块,但 cloudbuild 有一个问题,因为它不会自行获取 gitmodules。因此,当我module_1/cloudbuild.yaml作为 cloudbuild 配置引用时,构建失败,因为该文件不存在。我正在考虑可能的解决方法,我想问一下是否可能:

  1. 引用/cloudbuild.yaml为构建配置
  2. 在 cloudbuild.yaml 中添加获取 gitmodules 的步骤
  3. 运行不同的 cloudbuild 文件

结果应该类似于:

免责声明 我知道我可以将所有 cloudbuild 配置放在根存储库中,但我希望模块尽可能自治

0 投票
1 回答
2561 浏览

python - 如何将 gRPC Python 插件与 Docker 和 Google Cloud Builds 一起使用?

TL,博士;

  • 在生成 API 描述符文件时,运行 Python gRPC 插件最快/最轻的 Linux Docker 映像是什么?
  • 上述 API 描述符是否应该成为 Cloud Build工件并保存到 Cloud Storage 存储桶中?
    • ...为了用于gcloud将 API 部署到 Cloud Endpoints。

细节

我在Google Compute Engine上运行的 Docker 容器中运行Python gRPC 服务和 ESP 。关于 gRPC > API 管理展示了我的应用架构图:

在此处输入图像描述

我的高级构建步骤:


1)使用 protoc 协议缓冲区编译器创建描述符文件, 。api_descriptor.pb

2) 使用 gcloud 命令行工具部署 proto 描述符文件 ( ) 和配置文件:api_descriptor.pb

3) 使用 Python 插件生成 gRPC 代码:

4)构建最终的 Docker 映像以部署在Google Compute Engine上。生成的 Docker 映像应包括:

  • 从第 3 步生成的 gRPC 代码)。
  • gRPC 服务器所需的任何其他 Python 包。

第 4 步)使用以下 Dockerfile 构建“gRPC 服务器”(附图中最右边的蓝色框):

我正在将这些构建步骤迁移到 Google 的Cloud Build

AFAICT 我的高级构建步骤应该映射到 Cloud Builder官方构建器图像

1)???

2) 使用cloud-builders/gcloud/运行gcloud命令。

3)???

4) 使用cloud-builders/ docker 构建 'gRPC Server' Docker 镜像。

步骤 2) 和 3) 已经有可用的云构建器(请参阅GoogleCloudPlatform/cloud-builders)。

但是,我不确定如何将步骤1)3)迁移到 Cloud Build。这两个步骤都需要运行基础 Linux Docker 映像中不可用的 Python 插件。

AFAICT 步骤 1) 应生成 Cloud Build工件api_descriptor.pb保存到 Cloud Storage Bucket。

  • 在生成 API 描述符文件时,运行 Python gRPC 插件最快/最轻的 Linux Docker 映像是什么?
  • 上述 API 描述符是否应该成为 Cloud Build工件并保存到 Cloud Storage 存储桶中?
    • ...为了用于gcloud将 API 部署到 Cloud Endpoints。
0 投票
3 回答
6041 浏览

google-cloud-platform - GitHub Cloud Build 与 monorepo 中的多个 cloudbuild.yamls 集成

GitHub 的Google Cloud Build 集成未检测到cloudbuild.yamlDockerfile不在存储库的根目录中。

当使用包含多个的 monorepo 时cloudbuild.yamls,如何配置 GitHub 的 Google Cloud Build 集成以检测正确的cloudbuild.yaml

文件路径:

Cloud Build 集成输出:

构建失败

0 投票
2 回答
537 浏览

google-cloud-build - 谷歌云构建:在谷歌云存储库上克隆私有存储库失败

我们正在使用 Google Cloud Build 测试 Google Cloud Repositories。

我们创建了一个基本的 cloudbuild.yaml 并开始构建本身(我们正在使用 Go)。

我们的 Go 程序有一些导入在同一个存储库中(托管在 Google Cloud Repositories 上),例如:

  • 源/存储库
    • main.go(已导入 source.developers.com/repository/subpackage)
    • 分包/

在包本身中,我们有 source.developers.google.com 上的导入路径。当 Go 尝试克隆存储库时(运行 go get 时,由于缺少凭据而失败:

步骤#0:克隆到'/workspace/gopath/src/source.developers.google.com/ourrepository'...
步骤#0:致命:无法读取
' https://source.developers.google.com的用户名':终端提示已禁用
步骤#0:包source.developers.google.com/subpackage:退出状态128 [...]

错误:构建步骤 0“gcr.io/cloud-builders/go”失败:退出状态 1

云构建帐户已经可以访问存储库,并且可以克隆它。

我们如何使用 Google Build 克隆存储库?

0 投票
2 回答
412 浏览

google-cloud-platform - 谷歌云构建

嗨,我是谷歌云平台的新手。我想构建一个 Java 应用程序,它应该使用没有 docker 容器的 Google Cloud Build 构建。还有要测试的构建应用程序和要保存在存储桶中的工件。谁可以帮我这个事 ?

0 投票
5 回答
13078 浏览

google-cloud-functions - 错误: (gcloud.beta.functions.deploy) ... message=[调用者没有权限]

我正在尝试从这个 repo 部署代码:

https://github.com/anishkny/puppeteer-on-cloud-functions

在谷歌云构建中。我的 cloudbuild.yaml 文件内容是:

我为我的 Cloud Build Service 帐户 (****@cloudbuild.gserviceaccount.com) 赋予了以下角色:

  • Cloud Build 服务帐号
  • 云功能开发人员

然而,在我的 Cloud Build 日志中,我看到以下错误:

我错过了什么?