2016-11-05 15 views
0

私の会社では、maven pomとgradleビルドスクリプトを使用して構築されたサービスを担当するチームがあります。私が持っている問題は、チームがWebアプリケーションをビルドするときに、1人のチームメンバーによって作成されたjarファイルが、それらのpomファイル内の他のチームメンバーに利用可能である必要があるということです。ネクサスにmaven成果物を保存するためのベストプラクティス

私たちが考えていたことは、ローカルネクサスリポジトリを作成し、ビルドされたjarファイルをnexusにプッシュすることで、他のチームメンバがビルドしたときに同じjarファイルを参照できるようにしました。

しかし、同じプロジェクト内の異なるファイルを変更すると、2人のチームメンバーが同じjarファイルを生成する可能性があるため、バージョン管理上の問題が発生する可能性があります。

私が知りたいのは、これらのタイプのビルドとバージョン管理を行う際のベストプラクティスです。

答えて

0

このプロセスを管理する方法には、さまざまな意見や戦略があります。しかし、いくつかの側面は比較的一般的です。

私は2つの重要な要素があると言うだろう:バージョンの定義と参照の *適切な使用が *自動で

を構築し、ネクサスの展開は、特定の案件のために進行中の作業を持っている場合は、特定のリリースのために、その後、これらの変更は、すべてアーティファクトの特定の番号付きバージョンに移動する必要があります。作業は進行中ですが、そのバージョンは "-SNAPSHOT"で終わる必要があります。リリースの作業が完了すると、そのバージョン番号は '-SNAPSHOT'を削除する必要があります。Nexusサーバに「スナップショット」と「リリース」の成果物を別々のリポジトリに保存したい場合もあります。スナップショットレポに自動的に "-SNAPSHOT"アーティファクトを展開する必要があります。ビルドオートメーションが実行中の場合は、スナップショットリポジトリに「-SNAPSHOT」アーティファクトを自動的に展開する必要があります。

その他のオプションや詳細については、検証する必要があります。このプロセスでは、状況に応じて明確な価値を提供する機能のみを実装してください。非常に簡単 必要以上に複雑なプロセスをセットアップする必要があります。

+0

Davidさん、デベロッパーが開発中に私たちはネクサスレポになるローカルのgradleスクリプトを使用しています。つまり、 '-SNAPSHOT-'リポジトリがあれば、同じjarをビルドしている個々の開発者を特定するには、そのjarに開発者の名前を追加するとよいでしょう。 「スナップショット - ジェイムズ - ...」のように? – IndikaM

+0

いいえ、私はその価値は見ません。ソース管理には変更のアイデンティティがありますが、チームは共同でバイナリ成果物を構築します。 –

+0

さて、それを持っています。 Davidに感謝します。チームと話し合って、あなたが言及したことについてのプロセスを考え出します。 – IndikaM

関連する問題