Google cloud platform 我可以在自己的虚拟机上运行云构建吗

Google cloud platform 我可以在自己的虚拟机上运行云构建吗,google-cloud-platform,google-cloud-build,Google Cloud Platform,Google Cloud Build,Cloud build使用虚拟机的工作池,无法访问我的on-prem计算引擎资源,因此,有没有办法在我自己的虚拟机上运行Cloud build或针对这些问题的任何解决方案?在等待您在上一个问题中提到的功能公开时,您可以使用自定义生成器 您需要首先构建能够在云构建步骤中使用的构建器映像。使用远程生成器映像时,将发生以下情况: 将在容器生成器中创建临时SSH密钥 工作空间 将使用您配置的标志启动实例 工作空间将被复制到远程实例 您的命令将在该实例的工作区内运行 工作区将被复制回容器生成器 工作空间

Cloud build使用虚拟机的工作池,无法访问我的on-prem计算引擎资源,因此,有没有办法在我自己的虚拟机上运行Cloud build或针对这些问题的任何解决方案?

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

您需要首先构建能够在云构建步骤中使用的构建器映像。使用远程生成器映像时,将发生以下情况:

  • 将在容器生成器中创建临时SSH密钥 工作空间

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

  • 工作空间将被复制到远程实例

  • 您的命令将在该实例的工作区内运行

  • 工作区将被复制回容器生成器 工作空间

  • 因此,使用此生成器映像的构建步骤将在项目网络中的VM实例上运行,并且如果网络配置允许,将能够访问其他资源

    Edit:示例文件中使用的
    cos
    图像似乎包含它,因此您可以直接运行它。如果您想使用特定软件自定义实例,您有几个选项:

    • 您可以创建一个(基于包含该软件的自定义映像,或使用启动时将安装它的启动脚本),并在
      cloudbuild.yaml
      中的
      instance_ARGS
      中指定该实例模板
    • 您可以使用标准映像,只需将安装软件的启动脚本作为
      INSTANCE\u ARGS
      传递即可
    • 您可以在构建步骤中执行的shell脚本中安装它
    在等待上一个问题中提到的功能公开时,您可以使用自定义生成器

    您需要首先构建能够在云构建步骤中使用的构建器映像。使用远程生成器映像时,将发生以下情况:

  • 将在容器生成器中创建临时SSH密钥 工作空间

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

  • 工作空间将被复制到远程实例

  • 您的命令将在该实例的工作区内运行

  • 工作区将被复制回容器生成器 工作空间

  • 因此,使用此生成器映像的构建步骤将在项目网络中的VM实例上运行,并且如果网络配置允许,将能够访问其他资源

    Edit:示例文件中使用的
    cos
    图像似乎包含它,因此您可以直接运行它。如果您想使用特定软件自定义实例,您有几个选项:

    • 您可以创建一个(基于包含该软件的自定义映像,或使用启动时将安装它的启动脚本),并在
      cloudbuild.yaml
      中的
      instance_ARGS
      中指定该实例模板
    • 您可以使用标准映像,只需将安装软件的启动脚本作为
      INSTANCE\u ARGS
      传递即可
    • 您可以在构建步骤中执行的shell脚本中安装它

      • 为什么您不能解决访问问题?您可以将云构建配置为在云基础设施中的VPC内创建构建工人:

        请参阅下面的视频,其中解释了此操作的工作原理:


        希望这能有所帮助。

        为什么不能解决访问问题?您可以将云构建配置为在云基础设施中的VPC内创建构建工人:

        请参阅下面的视频,其中解释了此操作的工作原理:


        希望这有帮助。

        我可以在remote builders@LundinCast
        gcloud compute ssh--ssh key file=builder key内运行docker build吗shashi@builder-ccb0b0c9-9749-416f-8ca8-0cb8ac4d9714——docker build——network=default-t quay.io/${PROJECT_ID}/imagename:${BRANCH_NAME}-f Dockerfile。步骤2:由于stdin不是终端,因此不会分配伪终端。步骤2:未能将主机添加到已知主机列表(/builder/home/.ssh/google\u compute\u known\u hosts)。步骤#2:无法准备上下文:无法计算Dockerfile路径中的符号链接:lstat/home/shashi/Dockerfile:没有这样的文件或目录步骤#2:+cleanup
        我想运行docker build--network=default-t quay.io/${PROJECT_ID}/image_name:${BRANCH name}-f Dockerfile。命令请给我这个@LundinCast的一些解决方案我可以在远程构建器@LundinCast
        gcloud compute ssh--ssh key file=builder key中运行docker build吗shashi@builder-ccb0b0c9-9749-416f-8ca8-0cb8ac4d9714——docker build——network=default-t quay.io/${PROJECT_ID}/imagename:${BRANCH_NAME}-f Dockerfile。步骤2:由于stdin不是终端,因此不会分配伪终端。步骤2:未能将主机添加到已知主机列表(/builder/home/.ssh/google\u compute\u known\u hosts)。步骤#2:无法准备上下文:无法计算Dockerfile路径中的符号链接:lstat/home/shashi/Dockerfile:没有这样的文件或目录步骤#2:+cleanup
        我想运行docker build--network=default-t quay.io/${PROJECT_ID}/image_name:${BRANCH name}-f Dockerfile。命令请为@lundincast提供一些解决方案这实际上目前仍在EAP/Alpha中,因此OP在正式发布之前要求的解决方案:错误说明:项目未被列入此功能的白名单,请联系cloud build-contact@google.comThis目前仍处于EAP/Alpha状态,因此,OP在正式发布之前所要求的解决方法是:错误是:项目未被列入此功能的白名单,请联系cloud build-contact@google.com