Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 使用计算引擎构建谷歌云_Google Cloud Platform_Google Compute Engine_Google Cloud Build - Fatal编程技术网

Google cloud platform 使用计算引擎构建谷歌云

Google cloud platform 使用计算引擎构建谷歌云,google-cloud-platform,google-compute-engine,google-cloud-build,Google Cloud Platform,Google Compute Engine,Google Cloud Build,我想在提交时使用云构建和触发器来自动获取更新的repo,并在计算引擎实例上运行sudo-supervisortl-restart 在云构建设置页面上,有一个连接计算引擎的选项,但到目前为止,我只找到了包括Kubernetes引擎和应用引擎在内的示例 有可能完成吗?这是进行更新的正确方式吗?或者我应该用启动脚本重新启动实例吗?云构建器社区中有一个repo,这可能是您正在寻找的 如上述链接所述,它确实通过以下步骤将cloud Build连接到计算引擎: 将在容器生成器工作区中创建临时SSH密钥 将使

我想在提交时使用云构建和触发器来自动
获取更新的repo
,并在计算引擎实例上运行
sudo-supervisortl-restart

云构建设置页面上,有一个连接计算引擎的选项,但到目前为止,我只找到了包括Kubernetes引擎应用引擎在内的示例

有可能完成吗?这是进行更新的正确方式吗?或者我应该用
启动脚本重新启动实例吗?

云构建器社区中有一个repo,这可能是您正在寻找的

如上述链接所述,它确实通过以下步骤将cloud Build连接到计算引擎:

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

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

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

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

  • 工作区将被复制回您的容器生成器工作区

  • 您需要创建具有创建和销毁计算引擎权限的适当IAM角色:

    export PROJECT=$(gcloud info --format='value(config.project)')
    export PROJECT_NUMBER=$(gcloud projects describe $PROJECT --format 'value(projectNumber)')
    export CB_SA_EMAIL=$PROJECT_NUMBER@cloudbuild.gserviceaccount.com
    gcloud services enable cloudbuild.googleapis.com
    gcloud services enable compute.googleapis.com
    gcloud projects add-iam-policy-binding $PROJECT --member=serviceAccount:$CB_SA_EMAIL --role='roles/iam.serviceAccountUser' --role='roles/compute.instanceAdmin.v1' --role='roles/iam.serviceAccountActor'
    
    然后,您可以使用类似以下内容配置构建步骤:

    steps:
    - name: gcr.io/$PROJECT_ID/remote-builder
      env:
        - COMMAND=sudo supervisorctl restart
    
    您还可以在Github repo的一节中找到更多信息