私は現在、私の最初のプログラミング作業の最初の月にいて、新しくJenkinsをインストールしてビルドプロセスを自動化できるかどうかを確認するのに数日を要しています。私はそれを動作させましたが、パラメータ化されたビルドで特定のJARバージョンを生成するような、Jenkinsでいくつかの作業を手動で行う必要がありますが、これをさらに自動化したいと思っています。事前にお時間をありがとう!Jenkins + Maven + Gitタグ - ビルドタグによる依存関係解決?
私は従属性の解決にMavenを使用するプロジェクトを持っています。私はジェンキンスを使ってビルドプロセスを自動化しています。私はジェンキンスのgit-parameterプラグインを使って、ビルドするプロジェクトのタグ付きバージョンとサブプロジェクトを選択できるようにしました。
プロジェクトはgitの独自のバージョンタグを持つさまざまなサブプロジェクトに依存しており、メインプロジェクトのDev/ProdバージョンはそれぞれのPOMファイルで指定されたこれらのサブプロジェクトの異なるバージョンに依存しています。例について
:
- DEV:LIB-2.0.0/LIB-B 1.5.0でのpom.xml依存します。
- PROD:Pom.xmlはlib-A 1.0.0/lib-B 1.0.0に依存しています。
LIB-A: Gitのタグ:2.0.0、1.5.0、1.0.0
LIB-B: Gitのタグ:1.5.0、1.0.0
すべてのプロジェクトはプライベートgitリポジトリに存在し、Jenkinsでパラメータ化されたジョブとして手動でビルドするタグ付きバージョンを指定して、DEV用の.M2リポジトリにそのバージョンのJARアーティファクトを作成し、PRODで見つけることができます。たとえば、DEVに依存するlib-A 1.5.0が必要な場合、手動でパラメータ1.5.0をクリックしてビルドする必要があります。
しかし、このプロセスを自動化する方法はありますか?そうすれば、依存関係のバージョンを解決し、それらのバージョンをサブプロジェクトの現在作業中のパラメータ化されたビルドに送ることができますか?
私はDEVのビルドを開始し、それができ私のジェンキンス構成でクリーンなマシン上に、なります:
- gitのクローンDEV、LIB-AとLIB-B。 LIB-AとLIB-B
- のバージョンの
- チェックのpom.xmlコンパイルするのに必要な、関連するJARファイルを生成するために、LIB-AとLIB-Bのためのジョブを構築するためにはgit-パラメータ・プラグインのパラメータとしてこれらのバージョンを送ります主なDEVプロジェクトですか?
これはかなり曖昧に思えます。私は実際に問題のトラブルシューティングではなく、これが可能かどうかと、それが呼び出されるべきかどうかを尋ねるだけで、Googleを使ってそれをやり遂げる方法を教えることができます。事前に多くの感謝!
理解できないことがあります.Jenkinsサーバー上のローカルm2リポジトリだけでなく、企業規模のアーティファクト・リポジトリがあります。すべてのリリースバージョンでは、jarファイルはすでにそこにあるはずです。あなたはSNAPSHOTバージョンのいくつかのメカニズムについて話していますか? –
現時点では、アーティファクト・リポジトリはありません。同社は、既存の開発者がこれまで手作業でビルドして展開しているほど小さいため、 pom.xmlからプロパティを取得してパラメータ化されたビルドに渡す方法があると思うので、それを見てください:) –
実際には、Mavenでビルドする場合はリポジトリが必要です。 Jenkins Server上のローカルリポジトリで作業するのは実際には意味がありません。 NexusまたはArtifactoryを見てください。 # –