在 Jenkins 中使用 nexus 解决工件
Resolve artifacts using nexus in Jenkins
我正在尝试在某些 VPS 运行 OpenShift Origin 上构建私有 Maven 工件。我已经设置了一个本地 nexus 服务 (http://nexus-ci.apps.intrinsic.world/content/groups/public/) 并且已经成功地(自动)使用另一个 Jenkins 实例来构建一些 jar 并将它们上传到那里。
现在我希望这个另一个单独的 Jenkins 实例(因此没有公共存储库)简单地使用 nexus 来查找它的所有 Maven 依赖项。为了实现这一点,我尝试向 Jenkins 的主配置提供以下 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">
<profiles>
<profile>
<id>nexus</id>
<activation>
<property>
<name>nexus</name>
<value/>
</property>
</activation>
<repositories>
<repository>
<id>nexus-repository</id>
<url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus-plugin-repository</id>
<url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
我错过了什么?
如果您希望通过您的 Nexus 加载所有 依赖项,您应该使用镜像定义而不是额外的存储库:
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus</name>
<url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
</mirror>
你应该使用一个组,覆盖中心并配置镜像。带有示例的详细信息是 in the documentation.
您可能还想看看使用配置文件提供程序插件。我在 Tips from the Trenches video series.
中录制了一些关于 jenkins 设置的视频
我正在尝试在某些 VPS 运行 OpenShift Origin 上构建私有 Maven 工件。我已经设置了一个本地 nexus 服务 (http://nexus-ci.apps.intrinsic.world/content/groups/public/) 并且已经成功地(自动)使用另一个 Jenkins 实例来构建一些 jar 并将它们上传到那里。
现在我希望这个另一个单独的 Jenkins 实例(因此没有公共存储库)简单地使用 nexus 来查找它的所有 Maven 依赖项。为了实现这一点,我尝试向 Jenkins 的主配置提供以下 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">
<profiles>
<profile>
<id>nexus</id>
<activation>
<property>
<name>nexus</name>
<value/>
</property>
</activation>
<repositories>
<repository>
<id>nexus-repository</id>
<url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus-plugin-repository</id>
<url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
我错过了什么?
如果您希望通过您的 Nexus 加载所有 依赖项,您应该使用镜像定义而不是额外的存储库:
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>Nexus</name>
<url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
</mirror>
你应该使用一个组,覆盖中心并配置镜像。带有示例的详细信息是 in the documentation.
您可能还想看看使用配置文件提供程序插件。我在 Tips from the Trenches video series.
中录制了一些关于 jenkins 设置的视频