2017-02-16 14 views
1

У меня есть Travis repo для запросов на тяну. Когда запрос на растяжение открывается, travis.yml запускает как тесты, так и сценарий deploy.Пропустить развертывание travis.yml для открытых запросов на тягу?

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

Ниже приведен пример моего 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 

ответ

2

Вы можете использовать Трэвис специальных переменных окружений 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 

Больше Трэвис varibles вы можете faund на:
https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables