如何在Travis上安装Google Cloud SDK?

问题描述:

我试图用以下.travis.yml如何在Travis上安装Google Cloud SDK?

sudo: required 

language: go 

- curl https://sdk.cloud.google.com | bash; 

上特拉维斯安装谷歌云SDK我试图通过这个指南来自谷歌的启发:https://cloud.google.com/solutions/continuous-delivery-with-travis-ci

不幸的是,我得到特拉维斯此输出:

$ curl https://sdk.cloud.google.com | bash; 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
100 421 0 421 0  0 17820  0 --:--:-- --:--:-- --:--:-- 60142 
Downloading Google Cloud SDK install script: https://dl.google.com/dl/cloudsdk/channels/rapid/install_google_cloud_sdk.bash 
######################################################################## 100.0% 
Running install script from: /tmp/tmp.uz8jP70e56/install_google_cloud_sdk.bash 
which curl 
curl -# -f https://dl.google.com/dl/cloudsdk/channels/rapid/google-cloud-sdk.tar.gz 
######################################################################## 100.0% 
Installation directory (this will create a google-cloud-sdk subdirectory) (/home/travis): 

特拉维斯等待10分钟,然后终止构建。它似乎正在等待安装目录。

如何在Travis上安装Google Cloud SDK?

您遇到了这个问题,因为Travis CI上没有可能的交互。因此,安装脚本被阻止等待输入,并且Travis CI在10分钟后终止了构建。

诀窍是在安装Google Cloud SDK时禁用提示。这可以通过将CLOUDSDK_CORE_DISABLE_PROMPTS环境变量设置为1来完成。

这里有一个样品的配方来把你的.travis.yml文件(包括缓存它更快的后续版本):

cache: 
    directories: 
    - "$HOME/google-cloud-sdk/" 
script: 
    - gcloud version || true 
    - if [ ! -d "$HOME/google-cloud-sdk/bin" ]; then rm -rf $HOME/google-cloud-sdk; export CLOUDSDK_CORE_DISABLE_PROMPTS=1; curl https://sdk.cloud.google.com | bash; fi 
    # Add gcloud to $PATH 
    - source /home/travis/google-cloud-sdk/path.bash.inc 
    - gcloud version 

希望这有助于!