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

docker - 我是否需要将通过 CLI 提供的替换值添加到 cloudbuild.yaml 文件中?

在我的cloudbuild.yaml文件中,我依赖于将通过builds submit --substitutions=_SERVER_ENV=TEST命令传递的值。

这就是我引用它的方式:

cloudbuild.yaml

我的问题是:我需要将其添加到该部分的cloudbuild.yaml文件中吗?substitutions

例子:

cloudbuild.yaml

或者我可以将其省略并确保构建器将通过 CLI 命令查找它,例如:

builds submit --substitutions=_SERVER_ENV=TEST


参考

文档:gcloud 构建提交

DOC:构建配置替换

DOC:构建配置 - 替换变量值

0 投票
1 回答
863 浏览

docker - cloudbuild.yaml 上的错误:(gcloud.builds.submit)将 cloudbuild.yaml 解释为构建配置:“列表”对象没有属性“项目”

这是我的cloudbuild.yaml文件:

这个文件有什么问题吗?

这是我在运行以下命令时遇到的错误:

错误:(gcloud.builds.submit)将 ./cloudRun/cloudbuild.yaml 解释为构建配置:“列表”对象没有属性“项目”

0 投票
1 回答
563 浏览

gcloud - cloudbuild.yaml 中构建步骤中的 gcloud beta 命令。我应该使用入口点还是参数?

我正在尝试构建 Docker 映像并将其部署到 Cloud Run。而且我想设置min-instances=1,这样我就可以避免冷启动。

我正在通过gcloudCLI 使用 Cloud Build 构建和部署它。

所以这是我从gcloudCLI 的第一次尝试:

以下是我的以下描述的构建步骤cloudbuild.yaml

您会看到构建STEP_3运行:gcloud run deploy my-service ... min-instances=1

我收到以下错误:

所以我想我将不得不使用gcloud beta命令。但在这种情况下我有一些问题:

我是否还需要将beta命令添加到我的gcloud builds submit .命令中?

我应该如何设置它cloudbuilt.yaml?我是否将它添加到entrypoint或作为参数args

选项1

选项 #2

0 投票
2 回答
746 浏览

google-cloud-platform - GCP cloudbuild git推送触发器

每次推送到我的存储库的特定分支时,我都有一个触发器来运行构建作业。

如果我尝试使用以下命令“手动”(不使用触发器)运行构建作业:

它按预期工作并成功完成,没有任何问题。但是,如果我对我的存储库执行 git push 以使用触发器执行此操作,则在触发器启动构建作业并从我的 cloudbuild YAML 文件中检测到完整结构后,它会在第一步中断执行并显示错误消息:

第一步:

错误信息:

你知道问题可能是什么吗?

提前致谢!


编辑:

尝试在git clone之前清除目录,结果还是一样:

0 投票
1 回答
851 浏览

google-cloud-platform - 如何使用 Cloud Build 在 GCP 上部署功能?

我创建了一个 Cloud Functions 调用pupetter-e2e,它会触发对存储桶存储的更改,称为主页。我想使用以下内容部署对功能的更新cloudbuild.yaml

(触发器描述:https ://cloud.google.com/functions/docs/deploying/filesystem )

或者:

(如https://cloud.google.com/functions/docs/calling/storage所述)遗憾的是,我明白了

错误:(gcloud.functions.deploy)无法识别的参数:--trigger-bucket hjemmeside(您的意思是“--trigger-bucket”吗?)或--trigger-resource hjemmeside(您的意思是--trigger-resource?)

我曾尝试使用--trigger-bucket,但无法使其正常工作。有人可以通过纠正我的错误来帮助我cloudbuild.yaml吗?

0 投票
2 回答
295 浏览

angular - 尝试使用 cloud build (gcp) 部署时出现 URL not found

应用程序 - 角

我正在尝试在 GCP 中自动化我的 Angular 应用程序的部署过程。当我从云外壳手动部署时,一切正常,但是当我尝试使用 cloudbuild.yaml 构建-部署时,云构建触发它说部署成功。当我点击 URL 时,它显示 404 未找到。

手动部署命令

我对云构建不太熟悉。

可能问题出在下面给出的 cloudbuild.yaml 文件中。

我的理解是,当我们手动部署时,我们构建文件并将其上传到存储中的“dist”文件夹。然后我们同步目录进行部署,然后使用 gcloud app deploy 进行部署。

但是在使用云构建执行此操作时 - 我有连接到触发器的 GitHub 存储库,任何推送都发生在某个分支上,它会获取 cloudbuild.yaml 文件并处理。但是 cloudbuild.yaml 没有任何目录可以部署或同步这是我缺少的东西吗?如何添加它?如果不是请纠正我!

谢谢,

编辑

应用程序.yaml

当我将 cloudbuild.yaml 更新到以下时,出现以下错误

0 投票
3 回答
386 浏览

angular - 云构建不适用于不同的环境角度

在命令下面,我正在尝试使用云构建触发器运行,但它仍然会获取 enviroment.ts 文件

cloudbuild.yaml

下面是 Package.json 脚本代码

来自 angular.json 的文件替换代码

你能帮我解决这个问题吗?我也用 --prod 尝试过,但不起作用,它总是需要 evironment.ts 文件。但是,当我在本地执行此操作时,它可以正常工作。我看到云构建具有替代变量概念,不确定使用它的最佳方式。

编辑

即使我在云构建中有以下暂存命令,它也总是需要ng 构建。参考图像。我没有看到任何错误,一切都成功了。

在此处输入图像描述

0 投票
1 回答
463 浏览

google-cloud-build - “gcloud builds submit”不会因为缺少所需的替换而触发错误

我需要一些有关云构建的帮助--substitutions

这是文档:https ://cloud.google.com/cloud-build/docs/build-config#substitutions

这是说的:

cloudbuild.yaml

以下代码段使用替换来打印“hello world”。设置了ALLOW_LOOSE替换选项,这意味着如果缺少替换变量或缺少替换,构建将不会返回错误。

我的情况:我没有使用该ALLOW_LOOSE选项。我需要我的替代品。我不希望应用任何默认值。如果我忘记传递任何我需要的替换,我需要它立即失败。

这是我的cloudbuild.yaml文件:

cloudbuild.yaml

我正在初始化它们的默认值,required因为如果我忘记将它们中的任何一个传递给调用,我预计构建调用会失败gcloud builds submit

如果我打电话gcloud builds submit并且不通过任何定义的替换,我预计它会失败。但它并没有失败,并且构建正常完成而没有该值。

文档中有这样的观察:

注意:如果您的构建由触发器调用,则默认设置 ALLOW_LOOSE 选项。在这种情况下,如果缺少替换变量或缺少替换,您的构建将不会返回错误。您不能为触发器调用的构建覆盖 ALLOW_LOOSE 选项。

但是如果我gcloud builds submit手动调用,这意味着我的构建没有被任何触发器调用,对吧?所以ALLOW_LOOSE不应该启用这些选项。

这是我的完整版cloudbuild.yaml

cloudbuild.yaml

0 投票
1 回答
390 浏览

google-cloud-functions - 如何使用谷歌云构建在一个源存储库中为多个谷歌云功能实施 CI/CD?

我们正在使用一个单一存储库(GCP 源存储库),它由每个云功能(云功能的源代码)的一个文件夹组成。我们计划做的是使用 Cloud build 实现 CI/CD 管道,但我想知道是否有办法以这样的方式进行设置,如果我在一个特定函数的源代码中进行更改并提交它然后仅部署该代码。

  • 我们有大约 50 个不同的代码(它在我们的主仓库中创建了 50 个文件夹)
  • 每个文件夹由 requirements.txt 、所需的 .json 文件和 main.py 组成

我是第一次实施 CI CD 的新手,如果我不能以适当的方式解释我的问题,请原谅我,任何建议都会有很大帮助。

谢谢。

更新到目前为止,通过使用以下建议的 .yaml 文件,我的构建步骤正在完成,但没有创建任何功能,并且我在发布在此下方的构建日志中遇到错误。

我的 YAML 文件

FAIL LOG 虽然步骤显示成功=(绿色)-

0 投票
1 回答
637 浏览

docker - 使用 docker-compose 将 Docker 映像部署到谷歌云运行

我正在尝试从 docker-compose 文件中部署一个应用程序,其中包含两个图像:一个 Angular 应用程序(前端)和一个非常小的 Nestjs 应用程序(后端)。我正在使用 GCB、他们的触发器和 cloudbuild.json。

这是它的当前状态:

尝试将 docker 映像推送到注册表时,构建总是在第 2 步失败。我不确定图像名称可能是什么,或者它应该如何工作,因为需要推送和部署两个 docker 图像。甚至可以使用 GCB 还是我需要一个 GKE 集群来运行两个 docker 映像?

我是否应该分别构建两个 Docker 映像,将它们分别推送到注册表并将它们部署到单独的 GCR 服务?

提前致谢。