Установка gcloud на Travis CI

Я следую этому руководству по использованию Travis CI с Google Cloud для непрерывного развертывания: https://cloud.google.com/solutions/continuous-delivery-with-travis-ci

Когда Тревис строит, он говорит мне, что команда gcloud не найдена. Вот мой файл.travis:

sudo: false
language: python
cache:
  directories:
  - "$HOME/google-cloud-sdk/"
env:
- GAE_PYTHONPATH=${HOME}/.cache/google_appengine PATH=$PATH:${HOME}/google-cloud-sdk/bin
  PYTHONPATH=${PYTHONPATH}:${GAE_PYTHONPATH} CLOUDSDK_CORE_DISABLE_PROMPTS=1
before_install:
- openssl aes-256-cbc -K $encrypted_404aa45a170f_key -iv $encrypted_404aa45a170f_iv
  -in credentials.tar.gz.enc -out credentials.tar.gz -d
- if [ ! -d "${GAE_PYTHONPATH}" ]; then python scripts/fetch_gae_sdk.py $(dirname
  "${GAE_PYTHONPATH}"); fi
- if [ ! -d ${HOME}/google-cloud-sdk ]; then curl https://sdk.cloud.google.com | bash;
  fi
- tar -xzf credentials.tar.gz
- mkdir -p lib
- gcloud auth activate-service-account --key-file client-secret.json
install:
- gcloud config set project continuous-deployment-192112
- gcloud -q components update gae-python
- pip install -r requirements.txt -t lib/
script:
- python test_main.py
- gcloud -q preview app deploy app.yaml --promote
- python e2e_test.py

Это тот же файл, который предоставлен репозиторием из учебника. Строка, которая терпит неудачу:

- gcloud auth activate-service-account --key-file client-secret.json

Даже если он уже проверен на наличие SDK и установлен, если его там нет.

Я уже пробовал добавлять - source ~/.bash_profile после установки, но это не работает.

Я где-то пропускаю команду?

1 ответ

Я столкнулся с той же проблемой, и это сработало для меня:

- if [ ! -d "$HOME/google-cloud-sdk" ]; then
      export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)";
      echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list;
      curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - ;
      sudo apt-get update && sudo apt-get install google-cloud-sdk;
  fi

Единственная проблема, однако, заключается в том, что, поскольку ему нужен sudo, он будет работать на gce, который намного медленнее, чем ec2 https://docs.travis-ci.com/user/reference/overview/

Обновлено: это лучшее решение - Как установить Google Cloud SDK на Travis?

Другие вопросы по тегам