Установка 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?