Nexus リポジトリは、リポジトリ ターゲットのアクセス許可を使用するように構成されています。user1 は com.company.group1 にデプロイでき、user2 は com.company.group2 にデプロイできます。
.m2/settings.xml ファイルで、同じ Maven リポジトリに対して user1 と user2 の両方の資格情報を取得できますか? いずれかの許可が拒否された場合、Maven は両方を試しますか?
I use properties in distributionManagement, like-
<distributionManagement>
<repository>
<id>releases</id>
<url>${url.releases}</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>${url.snapshots}</url>
</snapshotRepository>
<site>
<id>site</id>
<url>${url.site}</url>
</site>
</distributionManagement>
My settings.xml has profiles that define these properties for target repositories. The <id>
are matched with the <server>
in the settings.xml, so you could use different <id>
for different username/password/repository combination. In settings.xml, setup <activeProfiles>
to the default profile you need for your deployment. When you need to switch to a different profile, you can do so on the command line.
たとえば、ユーザーごとに異なるプロファイルを使用し、それらのプロファイルのプロパティとしてユーザー名とパスワードを設定できます。次に、現在どのユーザーとして作業したいかに応じて、プロファイルをアクティブ化できます。プロファイルの1つをデフォルトでアクティブに設定して、呼び出しで常にプロファイル名を使用する必要がないようにすることもできます。
これを行う別の方法は、ユーザー用に個別のsettings.xmlファイルを用意し、Maven呼び出し用に-sフラグを使用して目的のファイルを指定することです。
settings.xml
私の知る限り、同じファイルに資格情報を混在させることはできません。これは大きなセキュリティホールになりそうです。各ユーザーは、ビルド マシンに独自のログインを持っている必要があります。次に、各人が自分の.m2/settings.xml
ファイルを持っています(パスワードを暗号化する.m2/settings-security.xml
には後者が必要です)。各ユーザーは、デプロイされているプロジェクトのセクション内の ID と一致する ID を持つエントリを追加します。<server>
<distributionManagement>