2017-02-16 3 views
1

私は、引っ張り要求に対してTravisのレポを有効にしました。プルリクエストが開かれると、travis.ymlはテストとdeployスクリプトの両方を起動します。オープンされたプルリクエストに対して、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 

答えて

2

あなたはビルドがPRのためにトリガされたかどうかを検出するためにトラビス特殊な環境変数TRAVIS_PULL_REQUESTを使用することができます。

だからあなたのスクリプトは次のように見ることができます:

... 

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 

もっとトラヴィスをあなたがfaundできvaribles:
https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables

関連する問題