我可以 运行 在我自己的 VM 实例上构建云吗
Can I run a Cloud build on my own VM intances
云构建使用 VM 的工作池,它无法访问我的本地 Compute Engine 资源 那么,有什么方法可以 运行 在我自己的 VM 上进行云构建或针对这些的任何解决方案吗?
等待 custom worker-pool feature you mentioned in your previous question to become available to public, you can use the custom builder remote-builder。
您需要先构建构建器映像,然后才能在云构建步骤中使用。使用 remote-builder 镜像时,会发生以下情况:
将在您的 Container Builder 中创建一个临时 SSH 密钥
工作区
将使用您配置的标志启动一个实例
工作区将被复制到远程实例
您的命令将 运行 在该实例的工作空间内
工作区将被复制回您的 Container Builder
工作区
因此,使用此构建器映像的构建步骤将 运行 在项目网络中的 VM 实例上进行,并且能够访问其他资源,前提是您的网络配置允许。
编辑:示例 cloudbuild.yaml 文件中使用的 cos
图像似乎包含它,因此您可以 运行它直接。如果您想使用特定软件自定义您的实例,您有多种选择:
- 您可以创建一个 instance template(基于包含该软件的自定义映像或使用将在启动时安装它的启动脚本)并在您的
INSTANCE_ARGS
中指定该实例模板cloudbuild.yaml
.
- 您可以使用标准映像,只需将安装软件的启动脚本作为
INSTANCE_ARGS
。
- 您可以在构建步骤中执行的 shell 脚本中安装它。
为什么不能只解决访问问题?您可以配置云构建以在您的云基础设施内的 VPC 内创建构建工作者:
请观看以下视频,了解其工作原理:
https://youtu.be/IUKCbq1WNWc?t=820
希望对您有所帮助。
云构建使用 VM 的工作池,它无法访问我的本地 Compute Engine 资源 那么,有什么方法可以 运行 在我自己的 VM 上进行云构建或针对这些的任何解决方案吗?
等待 custom worker-pool feature you mentioned in your previous question to become available to public, you can use the custom builder remote-builder。
您需要先构建构建器映像,然后才能在云构建步骤中使用。使用 remote-builder 镜像时,会发生以下情况:
将在您的 Container Builder 中创建一个临时 SSH 密钥 工作区
将使用您配置的标志启动一个实例
工作区将被复制到远程实例
您的命令将 运行 在该实例的工作空间内
工作区将被复制回您的 Container Builder 工作区
因此,使用此构建器映像的构建步骤将 运行 在项目网络中的 VM 实例上进行,并且能够访问其他资源,前提是您的网络配置允许。
编辑:示例 cloudbuild.yaml 文件中使用的 cos
图像似乎包含它,因此您可以 运行它直接。如果您想使用特定软件自定义您的实例,您有多种选择:
- 您可以创建一个 instance template(基于包含该软件的自定义映像或使用将在启动时安装它的启动脚本)并在您的
INSTANCE_ARGS
中指定该实例模板cloudbuild.yaml
. - 您可以使用标准映像,只需将安装软件的启动脚本作为
INSTANCE_ARGS
。 - 您可以在构建步骤中执行的 shell 脚本中安装它。
为什么不能只解决访问问题?您可以配置云构建以在您的云基础设施内的 VPC 内创建构建工作者:
请观看以下视频,了解其工作原理: https://youtu.be/IUKCbq1WNWc?t=820
希望对您有所帮助。