Nexus存储库路径



我已经从Jenkins上传了一些发布工件到Nexus。我可以看到它们是根据我提供的-D版本在Nexus下创建的。

示例:AppName-BuildNumber-Snapshot.zip

然而,不知何故,存储库路径是自动生成的,它附加了额外的yyyymmdd.hmmss

示例:AppName-BuildNumber-Snapshotyyyymmdd.hmmss.zip

我想从Jenkins下载发布工件,但由于自动生成的Nexus存储库路径,我无法在单独的作业中下载。

如何强制它停止将yyyymmdd.hmmss添加到存储库路径?或者我是否可以使用AppName和BuildNumber检索存储库路径?

如果您正在上传SNAPSHOT,那么Nexus会动态地将其与时间戳一起存储。这是因为您可以将-SNAPSHOT替换为具有相同GAV的较新副本。这与不能/不应该重新部署的真实#jar不同,从而保持了它们的完整性。

要下载-SNAPSHOT,只需将其引用为-SNAPSHOT;maven、aether等将检索最新的。

Maven(默认情况下(每天只检查远程存储库中是否有比本地版本更新的版本,除非您使用-U选项或更改updatePolicy。

如果你想要";固体";数字,然后您必须释放jar。

顺便说一句,您应该看到它是-yyymmdd.hhmmss-nn,其中nn是该版本的增量。


Nexus支持许多不同的存储库格式。如果您只需要maven,请使用Nexus 2,因为它更好地支持maven。存储库类型:Maven有两种不同的类型:发布存储库和快照存储库。

如果你想">上传一个包含发布工件的zip文件,并根据构建版本号将其取回";,那么这就是你应该做的。

您必须配置发布类型的存储库,而不是快照(来自:-DrepositoryId=dsnexus-snapshots((或者除了快照类型之外(。为了通过";构建版本号";,那么,大概你有:

[ X ] Create a formatted version number
Environment Variable Name [ label ]

确保你的专业步骤有:

[ X ] Inject build variables

然后,mvn deploy:deploy-file -DgroupId=com.my.gid -DartifactId=AppName -Dversion=${label} -DrepositoryId=dsnexus-release

ps:如果你把每一个构建都作为一个新的工件来泵送,你还需要在你的Nexus存储库中实现一个清理策略。

最新更新