Jenkins Nexus存储库路径

Jenkins Nexus存储库路径,jenkins,nexus,Jenkins,Nexus,我已经从Jenkins上传了一些发布工件到Nexus。我可以看到它们是根据我提供的-d版本在Nexus下创建的 示例:AppName-BuildNumber-Snapshot.zip 但是,不知何故,存储库路径是自动生成的,它附加了额外的yyyymmdd.hhmms 示例:AppName-BuildNumber-Snapshot-yyyymmdd.hhmmss.zip 我想从Jenkins下载发布工件,但由于自动生成的Nexus存储库路径,我无法在单独的作业中下载它 如何强制它停止将yyyymm

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

示例:AppName-BuildNumber-Snapshot.zip

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

示例:AppName-BuildNumber-Snapshot-yyyymmdd.hhmmss.zip

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


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

如果您正在上载快照,那么Nexus会使用时间戳动态存储它。这是因为您可以使用具有相同GAV的较新副本替换快照。这与不能/不应该重新部署的真实罐子不同,因此保持了它们的完整性

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

Maven(默认情况下)每天只检查一次比本地版本更新的版本,除非您使用-U选项或更改updatePolicy

若你们想要一个“实数”数字,那个么你们必须使用jar

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


Nexus支持。如果您只需要maven,因为它更好地支持maven。 存储库类型:Maven有:

如果您想“上传一个包含发布工件的zip文件,并根据构建版本号将其检索回来”,那么这就是您应该做的

您必须是快照,而不是快照(从:
-DrepositoryId=dsnexus snapshots
)(或者除了类型快照之外)。 要传递“构建版本号”,您可能需要:

[ X ] Create a formatted version number
Environment Variable Name [ label ]
确保您的maven步骤具有:

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


ps:如果您要将每个构建作为一个新的工件进行输出,那么您还需要在Nexus存储库中实现一个新的组件。

感谢Ian提供的详细答案。我是否可以检查是否有任何替代选项来存储发布工件,而不是使用快照?我们需要做的就是上传一个包含发布工件(.dll、.exe、.config)的zip文件,然后根据构建版本号将其检索回来?另外,您是否有jenkins命令来下载发布工件?我正在使用以下命令将其上载到nexus:mvn deploy:deploy file-X-DgroupId=-DartifactId=-Dversion=-dpackage=zip-Dfile=-DrepositoryId=dsnexus snapshots-Durl=-DgeneratePom=true