2017-08-07 19 views
0

Circle CIを使用してFirebaseに firebase deployを使用して私のSPAサイトを展開しています。 2つのコンテナを持つCircle CIの支払いプランがあります。CircleCI:ビルドを強制的にキューに入れる方法

enter image description here 私は2回順々GitHubのにコードをプッシュすると、最後の1分後にはコミット、サークルCIは互いに競争しているビルドします。(#696#695は直後に私が後に#696を押す同時に実行されています#695)。 #695として
がFirebaseクラウド機能を展開している、#696はメッセージで失敗します。マスターと他:functions: HTTP Error: 400, An operation on function onInitiativeRemoved in region us-central1 in project init-dev-a7563 is already in progress. Please try again later.

私の目標は、唯一異なるブランチで同時に2個のコンテナを実行することです。
同じブランチで1つのコンテナのみを実行し、他のビルドは同じブランチにキューイングする必要があります。一言で

、私は#696が構築したいのですが#695

答えて

0

後、私は単純に現在のコンテナ番号と現在のブランチをチェックしたい:コンテナ数のマスターのための

test: 
    override: 
    - ? 
     case $CIRCLE_NODE_INDEX in 
      0) if [ `git symbolic-ref --short HEAD` = master ]; then make master-test; fi ;; 
      1) if [ `git symbolic-ref --short HEAD` != master ]; then make other-test; fi ;; 
     esac 
     : 
     parallel: true 

ランテストを0とコンテナ数の非マスターブランチのテスト(ES)1.

0

あなたがしたいかもしれない二つのものがあります:

  1. default/masterブランチのみを展開してください。
  2. Auto-cancel redundant buildsの設定をオンにします。あなたが唯一のCircleCI内の特定のコンテナ内の特定の枝を実行することを選択することはできません

。あなたはphdの答えのようなことをすることができますが、技術的にはそれらのビルドはまだ実行されていて、早く死んでしまいます。

上記の設定では、新しいコミットがプッシュされると、キューに入れられた実行ビルドはキャンセルされます。

既定のブランチを除いて、同じブランチで新しいビルドがトリガーされたときに、ブランチ上のキューまたは実行中のビルドが自動的にキャンセルされます。この機能は、GitHubへのプッシュによってトリガされたビルドにのみ適用されます。

設定はSettings > Build Settings > Advanced Settingsにあります。

- リカルドNフェリシアーノ
デベロッパーエバンジェリスト、CircleCI

関連する問題