google-app-engine - 从 CircleCI 到 AppEngine 的无密码持续部署

标签 google-app-engine circleci

CircleCI appengine documentation建议使用密码进行部署。如何使用 oauth2 流程而不是使用密码?我不想分享我的 Google 密码。

我是否可以从 CircleCI 中存储为环境变量的 token 数据生成 ~/.appcfg_oauth2_tokens_java 文件?有没有更简单的方法?

最佳答案

我这样解决了这个问题:

deployment:
  appengine:
    branch: master
    commands:
      - erb .appcfg_oauth2_tokens_java.json > ~/.appcfg_oauth2_tokens_java # requires ENV in circle ci
      - mvn -DskipTests=true appengine:update # tests have already been run

.appcfg_oauth2_tokens_java.json:

{
    "credentials": {
        "ubuntu": {
            "access_token": "<%= ENV["GOOGLE_ACCESS_TOKEN"] %>",
            "expiration_time_millis": 1431552739090,
            "refresh_token": "<%= ENV["GOOGLE_REFRESH_TOKEN"] %>"
        }
    }
}

然后在 CircleCI 中,配置两个 token 的 ENV 变量。我通过本地运行 mvn appengine:update 并通过 oAuth2 dance 获得了 token 。注意:您可能必须先删除现有的 ~/.appcfg_oauth2_tokens_java 文件。

关于google-app-engine - 从 CircleCI 到 AppEngine 的无密码持续部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30221270/

相关文章:

node.js - Compute Engine 和 NodeJS,保持在线

python - BadKeyError : Invalid string key incorrect padding

java - JavaPNS 队列可以在 GAE 中使用吗?批量 APN 负载的方法有哪些?

javascript - TinyMCE文本区域编辑器

android - Gradle assembleDebug 和 preDexDebug 因 CircleCI 而失败

android - 如何使用 Circle Ci 在电子邮件中获取 Android APK 安装链接

CircleCI:跳过整个工作流程

java - 应用引擎 : howto see content from a POST request

bash - 如何在构建时将环境变量设置为Docker镜像名称

ios - xcodebuild 停留在协同设计上?如何禁用提示?