Jenkins で大規模なサードパーティ プロジェクト (Apache sling) を毎週ビルドしています。独自のアーカイブ サーバーを使用してすべての依存関係をダウンロードするように、jenkin の settings.xml をセットアップしました (ミラー セクションを使用)。
ただし、「デプロイ」を行うときに、ビルドで自分のスナップショット リポジトリにスナップショットをアップロードする方法がわかりません。代わりに、スナップショットを apache.org スナップショット サーバーにアップロードしようとして失敗します。
リポジトリをオーバーライドできるのと同様の方法で、スナップショット サーバーをオーバーライドするように settings.xml を構成する方法はありますか? これは、プロジェクトの pom.xml を編集せずに行う必要があります。
これを行う必要があるのは、別のプロジェクトの依存関係としてスナップショット バージョンの一部にアクセスする必要があり、それらすべてを手動でアーカイブにアップロードする必要がないためです。
これが私のsettings.xmlです:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/Users/Shared/Jenkins/.m2/repository</localRepository>
<servers>
<server>
<id>astra.internal</id>
<username>-deleted-</username>
<password>-deleted-</password>
</server>
<server>
<id>astra.snapshots</id>
<username>-deleted-</username>
<password>-deleted-</password>
</server>
</servers>
<mirrors>
<mirror>
<id>central-proxy</id>
<name>Local proxy of central repo</name>
<url>http://-deleted-.com/repository/internal</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>snapshots</id>
<name>Local proxy of snapshots</name>
<url>http://-deleted-.com/repository/internal</url>
<mirrorOf>snapshots</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>Repository Proxy</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<!-- ******************************************************* -->
<!-- repositories for jar artifacts -->
<profile>
<!-- ******************************************************* -->
<repositories>
<repository>
<id>astra.internal</id>
<url>http://-deleted-.com/repository/internal/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>astra.snapshots</id>
<url>http://-deleted-.com/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>