web-dev-qa-db-ja.com

Jenkins:1つのプロジェクトの複数のGitリポジトリ

2つのGitリポジトリを使用してプロジェクトを構築したい。 1つにはソースコードが含まれ、もう1つにはビルドスクリプトと展開スクリプトが含まれています。

私の問題は、プロジェクトのさまざまな部分(大きなプロジェクト、複数のリポジトリ、同じビルドおよび展開スクリプト)をビルドおよび展開するためのリポジトリが必要なことですが、ジェンキンスはこれを処理できないようです(または、 t方法がわかりませんでした)。

36
Mihai

[〜#〜] update [〜#〜]

複数のSCMプラグインは非推奨になったため、ユーザーは Pipelineプラグイン に移行する必要があります。

古い答え

はい、ジェンキンスはこれを処理できます。 [ソースコード管理]で_Multiple SCMs_を使用し、リポジトリを追加してから、各リポジトリの[詳細]セクションに移動します。ここでは、Local subdirectory for repo (optional)Unique SCM name (optional)を設定する必要があります。

リポジトリは、設定したローカルサブディレクトリにプルされるため、任意の順序でビルドできます。

harishsの回答ごとに更新-この機能を実現するには、 Multiple SCMs Plugin をインストールする必要があります。

31
Petr Mensik

Petr Mensikからの回答は正しいですが、これはJenkinsでデフォルトで利用可能ではないようです。この機能を利用するには、Multiple SCMプラグインをインストールする必要があります。 https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin

18
harish

同じ質問がありました。MultipleSCMプラグインの回答を見ると、このプラグインが非推奨としてリストされていることに気付きました。これにはパイプラインの使用を推奨する通知があります。

以下は、パイプラインを使用してこれを実行する方法のサンプル構成です。

node() {
  stage ('Extract') {
    parallel 'Extract':{
      dir('project1') {
        git url: 'ssh://git@githost/project1.git'
      }
      dir('project2') {
        git url: 'ssh://git@githost/project2.git'
      }
    }   
  }
}
9
carl verbiest

マルチSCMを扱うときの私の経験を共有するだけです。 jenkinsビルドに複数のgitリポジトリを追加する場合は、他のgitプラグインバージョンがMultiple SCMプラグインと互換性があることを確認してください。ここに私のために働いたバージョンのプラグインのリストがあります:

  • GitHub APIプラグイン1.44
  • Jenkins GITクライアントプラグイン1.6.2
  • Jenkins GITプラグイン2.0.1
  • Gitサーバープラグイン1.2
  • 複数のSCM 0.2

以前、Multiple SCM 0.3にアップグレードしましたが、そのセクションにgitリポジトリを追加できませんでした。

Rgds、マヌー

2
Manu Garg

Multiple SCMプラグインを介して別のSCMを追加し、Gitを選択した場合。レポジトリの「追加の動作」オプションを使用して、「サブディレクトリへのチェックアウト」を指定できます。したがって、ワークスペースに複数のリポジトリを作成できます。

0
enkor