Пропустить развертывание travis.yml для открытых пул-запросов?

У меня есть репо Travis, включенный для запросов на получение. При открытии запроса на включение travis.yml запускает как тесты, так и deploy скрипт.

Я хотел бы, чтобы открытые запросы на запуск выполняли все тесты, но не запускали сценарий развертывания, если не объединены.

Ниже приведен образец моего travis.yml:

sudo: true
language: node_js
before_deploy:
  - wget https://s3.amazonaws.com/go-cli/releases/v6.12.4/cf-cli_amd64.deb -qO temp.deb && sudo dpkg -i temp.deb
  - rm temp.deb
  - cf login
  - cf install-plugin autopilot -r CF-Community
  - npm run build
deploy:
- edge: true
  provider: script
  script: cf zero-downtime-push app-name -f ./manifest.yml
  on:
    branch: master

1 ответ

Решение

Вы можете использовать специальную переменную среды travis TRAVIS_PULL_REQUEST определить, запущена ли сборка для PR.

Так что ваш скрипт может выглядеть так:

...

deploy:
- edge: true
  provider: script
  script: if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then cf zero-downtime-push app-name -f ./manifest.yml; else echo "PR skip deploy"; fi
  on:
    branch: master

Больше переменных travis вы можете узнать на:
https://docs.travis-ci.com/user/environment-variables/

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