web-dev-qa-db-ja.com

SVNブランチで動作するようにJenkinsを構成する

現在、SVNリポジトリで動作するようにJenkinsを設定しています。現在、トランクに対しては正常に機能しています。次に、新しく作成されたブランチを処理するようにJenkinsをセットアップします。 SVNの新しいブランチごとに新しいプロジェクトを手動で作成したくありません。

  • SVNを使用し、SVNで作成されたすべてのブランチに対してJenkinsでジョブ/タスクを自動的に作成できるソリューションは既にありますか?
  • SVNタグ/ブランチでJenkinsをどのように使用しますか?
17
mryvlin

また、ジェンキンスにあまり詳しくない場合は、 extend answer も確認してください。

スクリーンショット付きの段階的なソリューションを提供します。

Subversionプラグインは、最近のバージョンではデフォルトでインストールされます(2015年9月現在)。

次に、プロジェクトを次のように構成する必要があります。

  1. 「このビルドはパラメータ化されています」を確認してください
  2. 「Subverionタグ(およびその他)のリスト」を選択します
  3. 名前フィールドで、後でsvn urlで参照できる変数名を設定します。ここでsvnbranchを選択します。
  4. [リポジトリURL]フィールドに、プロジェクトURL(トランク、ブランチ、タグを含める必要があります)を指定します
  5. 必要に応じて他のフィールドを埋める
  6. ソースコード管理で、リポジトリのURLで以前に定義された変数を参照します。

次のスクリーンショットを確認してください。

enter image description here

enter image description here

14
dezhi

Subversionプラグインには、ドロップダウンビルドパラメーターオプションが含まれている必要があります。ベースリポジトリを含めてから、ブランチ、タグ、またはトランクを選択できます。

これをチェックしてください: 単一のJenkinsジョブを設定して、トランクまたはブランチからリリースプロセスを作成する方法は?

さらに詳しい情報: https://issues.jenkins-ci.org/browse/JENKINS-10678

5
Chewpers

各支店とトラックに仕事があります。 30のプロジェクトがある場合、30のトランクプロジェクトと、現在使用している各ブランチの30のプロジェクトがあります。これは150を超えるジョブになる可能性がありますが、ビューを使用してジョブを区別します。 Subversionでブランチ(またはタグ)を使用するのは非常に簡単です:ブランチを含むURLを使用するだけです。

新しいブランチを作成するたびに、手動でジョブをコピーします。私は通常、手動のプロセスを嫌います(手動のプロセス=>間違いを犯す=>主に混乱する=>解雇される=> Walmartで働く)。しかし、実際に仕事で行う必要のある変更は2つだけです。 Subversion URLと説明を変更する必要があります。それ以外はすべてJenkinのデフォルトを使用するように設定されています。風変わりな作業ディレクトリも、ビルドアーティファクトのファンキーなコピーもありません(Jenkinsに保存しています)。約30のジョブがあり、それらすべてを30分以内に複製できます。

私は単にオートメーションに問題があり、すべてがうまくいくようにすべてのジョブを実行する必要がある場合は、手動で行うこともできます。

ビルドをパラメーター化できます。つまり、ユーザーにブランチの名前を入力してもらいます(またはドロップダウンリストから選択します。これは、すべてのブランチに対して単一のジョブを作成することを意味します。ただし、continuous build各ジョブを手動でトリガーする必要があるため、Jenkinsの側面。

一部のサイトには、新しいブランチを大量に作成できるスクリプトがあります。 1つのジョブの下からconfig.xml(および他のいくつかのファイル)をコピーして変更するだけです。一部のサイトでは、これを少し簡単にするテンプレートジョブが作成されています。テンプレートジョブは無効になっており、REST APIのおかげで、wgetを介してジョブを簡単に有効にできます。テンプレートジョブを複製し、いくつかのパラメーターを変更して、再度有効にします。それらすべての仕事。

JobCopy builderプラグイン があり、テンプレートビルドプロジェクトを定義し、テンプレート内の文字列を置き換えて実際のジョブを作成できます。

Jenkins Wiki には、ジョブを複製するAntスクリプトもあります。

2
David W.