我可以在自己的VM实例上运行云构建吗

时间:2019-12-06 09:36:06

标签: google-cloud-platform google-cloud-build

云构建使用VM的工作池,并且无法访问我的本地Compute Engine资源。那么,有什么办法可以在我自己的VM上运行云构建或任何针对这些虚拟机的解决方案吗?

2 个答案:

答案 0 :(得分:2)

在等待上一个问题中提到的custom worker-pool功能公开时,您可以使用自定义生成器remote-builder

您需要首先构建可以使用的构建器映像,然后在Cloud Builds步骤中使用。使用远程生成器映像时,将发生以下情况:

  1. 将在您的Container Builder中创建一个临时SSH密钥 工作区

  2. 实例将使用您配置的标志启动

  3. 工作流程将被复制到远程实例

  4. 您的命令将在该实例的工作空间内运行

  5. 工作空间将被复制回您的Container Builder 工作区

因此,使用此构建器映像的构建步骤将在项目网络中的VM实例上运行,并且只要您的网络配置允许,它就可以访问其他资源。

编辑:示例cloudbuild.yaml文件中使用的cos图片似乎包含了该图片,因此您可以直接运行它。如果您想使用特定软件自定义实例,则可以使用以下几种选择:

  • 您可以创建一个instance template(基于包含该软件的自定义映像,或者使用将在启动时安装该启动脚本的启动脚本),并在{{ 1}}。
  • 您可以使用标准映像,只需将安装软件的启动脚本传递为INSTANCE_ARGS
  • 您可以将其安装在构建步骤中执行的shell脚本中。

答案 1 :(得分:0)

为什么您不能仅解决访问问题?您可以配置云构建以在云基础架构内的VPC中创建构建工作器:

观看以下视频,说明其工作原理: https://youtu.be/IUKCbq1WNWc?t=820

希望这会有所帮助。