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/