问题标签 [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.
google-app-engine - Cloud Container Builder,ZIP 不支持 1980 年之前的时间戳
我正在尝试以下教程。
使用 Cloud Source Repositories 和 Container Builder 自动进行无服务器部署
但我得到了下面的错误。
我现在正在努力解决它。你有什么主意吗?我的 gcloud 是最新版本。
教程上的示例谷歌云功能代码。
google-app-engine - 我可以为 GAE 灵活的 Node.js 部署使用 Container Registry 触发器吗?
我从以下教程中学习了如何使用 Container Registry 触发器进行 Google Cloud Functions 部署。
使用 Cloud Source Repositories 和 Container Builder 自动进行无服务器部署
我有 Google App 引擎灵活的应用程序。运行时是 Node.js。我想部署由 git push 触发的应用程序。有没有好的参考资料?
我正在使用这些示例代码。手动部署工作正常。
更新 1
我发现了一个类似的问题。
如何使用带有构建触发器的容器注册表灵活地自动部署谷歌应用引擎
我添加了 cloudbuild.yaml。
但是,我得到了一个错误。错误消息是“错误加载模板:yaml:第5行:没有找到预期的密钥”。我正在调查它。
更新 2
原因是 yaml 格式无效。我改变了它如下。
我又犯了一个错误。消息是“错误加载模板:cloudbuild_go_proto.BuildStep 中的未知字段“图像” ”
更新 3
我注意到“图像”缩进是错误的。
我遇到了新的错误。
是的。我没有 Dockerfile,因为我使用 Google App Engine 灵活环境 Node.js 运行时。不需要 Docker。
更新 4
我添加了 Dockerfile
然后发生了新的错误。
更新 5
我启用了 App Engine Admin API,然后出现下一个错误。
我更改了我的代码树,但它不起作用。我确认 Appengine Flexible API 已启用。我不知道接下来我应该尝试什么。
更新 6
当我手动部署时,工件如下所示。
我应该使用这个神器吗……?我很困惑..
更新 7
执行了两个构建。我不知道这是否正确。
google-cloud-platform - GitLab 支持 Google Cloud Platform 的 Container Builder
是否可以将 GitLab 链接到 Container Builder 并完全支持构建的自动触发器?如果没有,那么这是否会在未来发生?
google-cloud-platform - 构建完成后如何拉/运行容器?
我正在使用 Google Container Builder 构建图像并将它们推送到 gcr.io
构建完成后如何触发 CoreOS VM 上的拉取/运行?(我不能使用谷歌容器引擎)
google-cloud-platform - Google Cloud Container Builder 在步骤之间共享数据?
我的构建步骤之一需要简短的 git commit sha (git rev-parse --short HEAD)。除了实际使用 git 构建器,然后在 docker build 步骤中使用输出之外,我没有看到任何其他方法。下面输出我需要的内容,我想将该值存储在COMMIT_SHA_SHORT中并在下一个构建步骤中使用它。这有可能吗?
google-cloud-functions - 通过 Cloud Functions 触发 Google Container Builder 构建
我正在使用 Container Builder 来处理巨大的 JSON 文件并对其进行转换。如此处所述,这是非标准使用它的一个很好的可能性。
是否可以触发容器构建器构建并通过云功能将参数传递给它?这将允许对 GCS 中新上传的文件采取行动,并通过容器构建器自动处理它们。
目前我正在尝试使用 REST API 来触发它(我是 Node.js 的新手),但我的 URL 上出现了 404。我正在一个具有完整 API 访问权限的 Cloud Shell 实例上进行开发。
我试图通过PUT
请求和包含成功运行的 JSON 等效项的 JSON 正文触发的 URLcloudbuild.yaml
是:https://cloudbuild.googleapis.com/v1/projects/[PROJECT_ID]/builds
我正在使用 Node.js 的请求库:
google-container-registry - 我可以定义运行 Google Cloud Container Builder 的区域吗?
我的 Google Cloud Container Builder 步骤涉及不应离开欧盟的信息。是否可以限制构建区域以使其不会被执行us-central1
?
我知道我可以定义存储结果图像的区域,但这并不意味着处理发生在欧盟内部,还是我错了?
google-cloud-platform - 谷歌云容器构建器并不总是从 bitbucket 触发
我在 Google Cloud Container Builder 中设置了构建触发器,这些触发器设置为在特定分支上触发并使用存储库中的 cloudbuild.yml 配置。在我将提交推送到任何这些分支的第一天,它触发了容器构建并成功完成。从那时起,触发器只是间歇性地工作。
有时 Google Cloud Container Builder 根本没有检测到提交(我已经检查过提交在 bitbucket 中并且提交在正确的分支上)。那时,我尝试通过谷歌控制台手动触发构建,但它使用上次构建的较旧提交,而不是最新提交。因此,我将尝试从 repo 推送小的更改或进行空提交。
有时会触发构建,有时不会。有趣的是,当构建最终在一段时间后在一个分支上触发时,如果其他分支最近有一个尚未构建的提交,它将触发其他分支上的构建。
我不知道如何解决这个问题。有没有人遇到过类似的问题?
更新:
我解决了我的问题。我最初将每个 bitbucket 存储库添加到 Google Cloud 中的 Source Repositories。之后,我在 Container Registry 中为每个存储库添加了构建触发器。添加触发器时,我必须通过与添加源存储库相同的过程来连接到 Bitbucket 中的存储库。后来我意识到它已经在 Source Repositories 部分为每个 repos 自动创建了一个单独的连接。所以我有两个连接到源存储库中列出的 bitbucket 中的每个存储库。一旦我删除了重复项,触发器就开始持续工作。
总之,请确保您在 Source Repository 中没有任何重复的连接。
google-container-builder - Container Builder Slack 通知
我们正在测试 CB,我们的部分要求是向 Slack 发送消息。
本教程效果很好,但是如果我们可以指定构建的源代码会很有帮助,这样我们就不必点击消息来查看哪些 repo/trigger 失败/成功了。
教程中是否有可以传递给云函数的变量?我找不到有用的文档。
理想情况下,如果 CB 有一个集成/松弛 GUI 可以使这些选项可配置但 c'est la vie,那就太好了。
node.js - 间歇性失败(127)在纱线中找到命令
我正在尝试在 gcloud 上构建一些东西,特别是一个带有 Yarn 和 Node 的网站。
这是我要运行的脚本:
通过
哪个输出https://gist.github.com/haf/ebc623bfce5520432c136e44496b58fb - 这里有趣的位(为便于阅读而格式化):
容器内构建器:
这还不是全部,因为在这个畸形秀中,几分钟(现在:几小时):
cloudbuild 目标如下所示:
和 packages.json 片段:
总而言之,我很困惑。尽管 PATH 包含二进制 js 文件,但为什么它不起作用,该文件是可执行的?为什么它可以找到 webpack 而不是 babel-node?为什么即使在 full 之后我也可以在本地运行它git clean -fxd
?为什么它有时会起作用,但有时却不起作用?
我的直觉告诉我这是 GCB 中的某种竞争条件