【问题标题】:Deploy .Net AppEngine部署 .Net AppEngine
【发布时间】:2017-07-03 14:54:03
【问题描述】:

我有一个在 Google Cloud Platform 中运行的 .Net AppEngine 应用程序,我可以使用自己的凭据从命令行部署它。我现在想从我的 Appveyor CI 管道中部署它。我已加密服务帐户 json 文件并希望在我的部署脚本中使用它。我天真地在 appveyor.yml 的 deploy_script 部分尝试了以下脚本:

    dotnet publish -c Release

    gcloud auth activate-service-account xxx@appspot.gserviceaccount.com --key-file="xxx.json"

    gcloud beta app deploy src/kinetics.webapi/bin/Release/netcoreapp1.1/publish/app.yaml

Appveyor 不知道 Google SDK,因为我得到了错误

gcloud auth activate-service-account xxx@appspot.gserviceaccount.com --key-file="xxx.json" 'gcloud' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

如何在 Appveyor 中使用 gcloud?我想我可以使用 Nuget 安装整个 Google SDK,但这对于 CI 服务器来说似乎有点耗时。有没有更轻量级的方法?

【问题讨论】:

    标签: .net google-app-engine google-cloud-platform appveyor


    【解决方案1】:

    Chocolatey Google Cloud SDK installation 在 AppVeyor VM 上大约需要 1 分钟。您需要在install 阶段添加choco install gcloudsdk 才能使其工作。

    【讨论】:

      【解决方案2】:

      按照 ilyaf 的建议,我使用 Chocolatey 安装了 Google Cloud SDK。它确实有效,并且进行 AppEngine 部署需要很长时间,因此在 AppVeyor 中执行此操作并不是什么大问题。请注意,运行 gcloud 还需要几个步骤:刷新以获取环境变量并使用 python 在非交互模式下运行。对于任何感兴趣的人,以下安装部分正确安装了该工具:

      install:
        - nuget install secure-file -ExcludeVersion
        - choco install gcloudsdk
        - refreshenv
        - gcloud.cmd components copy-bundled-python>>python_path.txt && SET /p CLOUDSDK_PYTHON=<python_path.txt && DEL python_path.txt
        - gcloud.cmd components update --quiet
        - gcloud.cmd components install beta --quiet
        - secure-file\tools\secure-file -decrypt "xxx.json.enc" -secret %gcp_app_engine_service_account%
      deploy_script:
      - cmd: >-
      
          dotnet publish -c Release
      
          gcloud config set project xxx
      
          gcloud auth activate-service-account xxx@appspot.gserviceaccount.com --key-file="xxx.json"
      
          gcloud beta app deploy src/kinetics.webapi/bin/Release/netcoreapp1.1/publish/app.yaml --quiet
      

      【讨论】:

      • 感谢分享。不用说gcp_app_engine_service_account应该是secure variable
      猜你喜欢
      • 2016-06-29
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2021-01-15
      • 2015-11-14
      相关资源
      最近更新 更多