2017-12-01 1 views
2

Travis CIの特定のブランチで特定のOSを使用することはできますか?Travis CI:ブランチごとにカスタマイズする

OSXとLinuxを使ってmasterをビルドし、Linuxだけを使って他のブランチを構築するようTravisを設定したいと思います。

OSXのキュー時間がかなり長い(> 20m)という理由は、私が取り組んでいるプロジェクトのバグを修正する際のフィードバックループに影響します。

ご協力いただければ幸いです。ありがとうございました。

これが私の現在のYMLの設定ファイルです:あなたはおそらく、特に、Build stagesbranch nameのようなものの条件を定義するための能力を見てみたい

language: node_js 
node_js: 
    - 6 
before_install: 
    npm run uninstall && npm cache clean --force 
install: 
    npm install 
branches: 
    only: 
    - master 
    - develop 
    - travis-ci 
os: 
    - linux 
    - osx 

答えて

2

これはtest段階が正常に完了しない場合macos段階でも実行されないことを追加された利点を持つ(間違いなく)、これを実現する方法の例です:

language: node_js 
node_js: 6 
before_install: 
    npm run uninstall && npm cache clean --force 
install: 
    npm install 
branches: 
    only: 
    - master 
    - develop 
    - travis-ci 
stages: 
- test 
- macos 
jobs: 
    include: 
    - stage: test 
    - stage: macos 
     if: branch = master 
     os: osx 
+0

を明確にするために、まだこの意志何もしなくても、Macビルドをエンキューしますか? – dahlbyk

+0

'if:'がマッチしなかった場合、MacOSにエンキューされるジョブはありません。 – joepd

+0

PRをビルドするのを避けるために 'branch'フィルタを使用しようとしていましたが、' branch'がPRのターゲットブランチに設定されているようです。 'if:type!= pull_request'がトリックをしました。 – dahlbyk