I以下の構造:ビルド
- gitの(gitlab)リポジトリ私は2ブランチ(DEVとマスターを)持っている(詳細はありますが、私は」
- このプロジェクトでプッシュ/マージアクションが実行されたときにウェブフックを作るconfigurated gitLab。
- ジンキンがインストールされたポッドを持つオープンコンテナ
- オープンシフトジンキンプロジェクトで定義された2つのパイプライン、devブランチを構築するパイプライン、およびマスターブランチを構築するパイプライン。
- ジェンキンス2.19.3
を
- gitlab 10.1
- 3.4 openshift:pielineはGroovyで書かれた、といくつかのgit、Mavenを作り、OCは
バージョンをコマンドしています私ができること: 2つのパイプラインを開始し、2つのブランチを構築するdev/masterをプッシュします。私はプッシュ/マージイベントがdevまたはmaster上で行われたことをフィルタリングする方法を知らないので、2つのビルドを開始します。 ので、私はこれをしたい:ビルドにDBを使用して、いくつかの統合テストがあり、パイプラインが同時に起動した場合は、その後、彼らはテスト-DB
- 2つのパイプラインは、それらが表すブランチが関与していないときに開始されます。正しいブランチを持つパイプラインだけを開始する必要があります。
これを解決するには2つの方法があります。 Gitlabでは、定義されたブランチ上でWebhookイベントを駆動する可能性はありません。 (またはそこにあり、私はどのようにわからない?) パイプライン上で私は魔女の枝をチェックするいくつかのコードを書くことができた/プッシュをマージされています。しかし、私はこのチェックをどのように正確に行うのか分かりません。
他にもオプションがありますか? 可能であれば、私はワークフローを変更したくないですが、私は良いアイデアを聞くために開いています。
関連情報が不明な場合は、私にお尋ねください。コンテキストが非常に大きいので、私はコードを公開していません。主に、正しい解決策や解決方法が必要です。