2016-06-17 27 views
1

私はGitLab 8.3.2とTeamCity 9.1.6を使用しています。私はJetBrains TeamCity CIサービスをセットアップしました.GitLabにプッシュされた変更がTeamCityでビルドされるようになっています。GitLabとTeamCityを使用しているときにマージリクエストを自動的に作成する方法

また、マージリクエストが作成されたときにビルドをトリガしたいと思います(このビルドでは、マージボタンを押すと物事が損なわれないことが保証されます)。

私はチームシティーにセットにおけるブランチ仕様を持っている:私はチームシティーでのマージリクエストを見ることができますが、彼らは実際にビルドされません

+:refs/heads/* 
+:refs/(merge-requests/*) 

GitLabのマージリクエストでは、 'CIビルドペンディングxxxx'と表示されます。ビューの詳細リンクにはビルド番号は含まれていません。私はこれがTeamCityを検索して一致するビルドを見つけ出し、それが第1位ではトリガされなかったため見つからないからです。

私はTeamCityでビルドトリガーを設定していません。 (私はもともとVCSトリガを持っていましたが、GitLabが私のためにビルドをトリガしていたことを認識したらオフにしました)

マージリクエストがTeamCityでビルドをトリガし、GitLabを表示するようにマージ要求のビルドの結果

答えて

1

ビルドをどのようにトリガーするかを決定する必要があります.GitLabを更新またはGitLabでポーリングするTeamCityによって決定されます。

TeamCityの場合、ビルド構成にVCSトリガーを追加する必要があります。これにより、TeamCityトリガは "ブランチ仕様"で設定されたブランチ上でビルドされます。トリガ設定でビルドをトリガするようにブランチを制限することもできます。あなたはdisable TeamCityでGitLabトリガビルドが必要になります。トリガーにGitLabの道のために

は、すべての枝にあなたは+ :(レフリー/ヘッド/ ) + :(レフリー/マージ・リクエスト/) は枝であることを確認する にブランチ仕様を設定する必要があります構築します完全な名前(私はここで推測している)。

+0

おかげで更新されます。私はGitLabにビルドをトリガーさせることをとてもうれしく思っています。唯一の問題は、マージ要求を作成しないことです。あなたが提案したブランチの仕様は、自分の質問に投稿したものと一致しますが、私の中には*があります。私はそれらを取ることを提案していますか? –

+0

答えに記載されているブランチ仕様には、括弧の別の位置があります(したがって、ブランチには別のラベルが作成されます)。私の推測では、このケースでは重要だということでした。 – Yaegor

0

私はあなたと同じような私の問題を解決することができます。実は、私は、その設定をチームシティーでのビルド構成が非常に要求が構築マージあなたはまた、すべての枝の監視を設定することになるでしょう%build.vcs.number%ビルド形式の番号を使用する必要があります

GitLabが提供する指示に従ってくださいvsc rootの詳細設定になっています。チームシティーの側で

  1. は、すべての枝を構築するためにチームシティーで%build.vcs.number%と
  2. のconfigureブランチ仕様をビルド番号の書式を設定する必要があります。私は+:refs/heads /(*)を使用しました。

マージ要求を作成したら、それはチームシティーで同じbuild.vcs.numberをチェックしますと、ビルドが終了すると、ステータスはgitlabのマージリクエストご入力のための

関連する問題