2016-08-04 71 views
4

我試圖用以下.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?

回答

10

您遇到了這個問題,因爲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 

希望這有助於!

相關問題