在 Travis 上使用 gcloud CI
Using gcloud on Travis CI
我已经安装并运行了 gcloud,并且还激活了一个服务帐户。我 运行 以下并获得成功(?):
$ gcloud auth activate-service-account "${GAE_CLIENT_ACCOUNT}" --key-file "${GAE_CLIENT_KEY_JSON_FILE}"
Activated service account credentials for: [xxxxx@developer.gserviceaccount.com]
然后我运行这个:
$ gcloud preview app deploy app.yaml --project "${GAE_PROJECT_ID}" --quiet --version "${GAE_PROJECT_VERSION}"
You are about to deploy the following modules:
- ricochet-robots/default/dev From: [/home/travis/build/ricochetrobots/ricochetrobots-landing/app.yaml]
Updating module [default]...Go to the following link in your browser:
https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&client_id=xxxxxxxx.apps.googleusercontent.com&access_type=offline
Updating module [default].../
如您所见,它提示我遵循 link 并进行 oauth。因为我在 ci 服务器上,所以无法关注 link。
我怎么能抑制它?或者是否有一种完全不同的自动部署应用程序的方式。
这是版本 0.9.61 中的 known issue。
现在,您可以通过固定到以前的版本来解决问题:
gcloud config set component_manager/fixed_sdk_version 0.9.60
gcloud components update
由于您 运行 正在 CI 服务器中,如果您在脚本中 运行 gcloud components update
,则还可以设置以下环境变量。这可能更容易解决,具体取决于您的 CI 服务器。
CLOUDSDK_COMPONENT_MANAGER_SNAPSHOT_URL=https://dl.google.com/dl/cloudsdk/release/components-v0.9.60.json
运行 gcloud preview app deploy --set-default
使用服务帐户在版本 0.9.57 到 0.9.62 中存在相同的问题。如果您想使用此命令,可以固定到 0.9.56。
我们的目标是修复 0.9.63 版或之后的版本。请关注 gcloud 错误跟踪器上的问题以获取更多更新。
编辑:此问题已在 0.9.63 版中修复。
我已经安装并运行了 gcloud,并且还激活了一个服务帐户。我 运行 以下并获得成功(?):
$ gcloud auth activate-service-account "${GAE_CLIENT_ACCOUNT}" --key-file "${GAE_CLIENT_KEY_JSON_FILE}"
Activated service account credentials for: [xxxxx@developer.gserviceaccount.com]
然后我运行这个:
$ gcloud preview app deploy app.yaml --project "${GAE_PROJECT_ID}" --quiet --version "${GAE_PROJECT_VERSION}"
You are about to deploy the following modules:
- ricochet-robots/default/dev From: [/home/travis/build/ricochetrobots/ricochetrobots-landing/app.yaml]
Updating module [default]...Go to the following link in your browser:
https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&client_id=xxxxxxxx.apps.googleusercontent.com&access_type=offline
Updating module [default].../
如您所见,它提示我遵循 link 并进行 oauth。因为我在 ci 服务器上,所以无法关注 link。 我怎么能抑制它?或者是否有一种完全不同的自动部署应用程序的方式。
这是版本 0.9.61 中的 known issue。
现在,您可以通过固定到以前的版本来解决问题:
gcloud config set component_manager/fixed_sdk_version 0.9.60
gcloud components update
由于您 运行 正在 CI 服务器中,如果您在脚本中 运行 gcloud components update
,则还可以设置以下环境变量。这可能更容易解决,具体取决于您的 CI 服务器。
CLOUDSDK_COMPONENT_MANAGER_SNAPSHOT_URL=https://dl.google.com/dl/cloudsdk/release/components-v0.9.60.json
运行 gcloud preview app deploy --set-default
使用服务帐户在版本 0.9.57 到 0.9.62 中存在相同的问题。如果您想使用此命令,可以固定到 0.9.56。
我们的目标是修复 0.9.63 版或之后的版本。请关注 gcloud 错误跟踪器上的问题以获取更多更新。
编辑:此问题已在 0.9.63 版中修复。