Как установить Google Cloud SDK на Travis?

Я попытался установить Google Cloud SDK на Travis со следующим .travis.yml

sudo: required

language: go

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

Моя попытка вдохновлена ​​этим руководством от Google: 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 минут, а затем завершает сборку. Похоже, он ждет каталог установки.

Как установить Google Cloud SDK на Travis?


person user1283776    schedule 04.08.2016    source источник


Ответы (1)


Вы столкнулись с этой проблемой, потому что в 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

Надеюсь это поможет!

person Dominic Jodoin    schedule 04.08.2016