使用Maven部署构件至Nexus

日常开发生成的快照版本号构件能够直接部署到Nexus中策略为Snapshot的宿主仓库中。项目正式公布的构建部署到Nexus中策略为Release的宿主仓库中。POM的配置方式例如以下:

<project>
...
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Releases Repository</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshots Repository</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
...
</project>

Nexus的仓库对于匿名用户是仅仅读的,为了能够部署构件。还须要在settings.xml中配置认证信息。例如以下:

<settings>
...
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>*****</password>
<server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>*****</password>
<server>
</servers>
...
</settings>

手动部署第三方构件至Nexus

某些Java jar文件如oracle的JDBC驱动,因为许可证因素,他们无法公开的放在公共仓库中。

还有大量的小型开源项目。他们没有把自己的构建分发到中央仓库中。也没有维护自己的仓库,因此也无法从公共仓库获得。这个时候用户就须要将这类构件手动下载到本地,然后通过Nexus的界面上传到私服中。

要上传第三方构件,首先选择一个宿主仓库如3rd party,然后在页面的下方选择Artifact Upload选项卡,在上传构件的时候。Nexus要求用户确定其Maven坐标,假设该构件时通过Maven构建的。那么能够再GAV Definition下拉列表中选择From POM,否则就选GAV Parameters。用户须要为该构件定义一个Maven坐标,例如以下图:

Maven实战——有用Nexus创建私服(下)-LMLPHP

Nexus的权限管理

Nexus提供了一系列可配置的调度任务还方便用户管理系统。

用户能够设定这些任务执行的方式,比如每天、每周、手动等。调度任务会在适当时候再后台执行。

要建立一个调度任务,单机左边导航栏的Scheduled Tasks链接,然后在右边的界面上方单击Addbutton。例如以下图所看到的:

Maven实战——有用Nexus创建私服(下)-LMLPHP

05-11 20:48