Nexus 存储库路径
Nexus repository path
我已经从 Jenkins 上传了一些发布工件到 Nexus。我可以看到它们是根据我提供的 -D 版本在 Nexus 下创建的。
示例:AppName-BuildNumber-Snapshot.zip
但是,不知何故,存储库路径是自动生成的,它附加了额外的 yyyymmdd.hhmmss。
示例:AppName-BuildNumber-Snapshot-yyyymmdd.hhmmss.zip
我想从 Jenkins 下载发布工件,但由于自动生成的 Nexus 存储库路径,我无法在单独的作业中下载它。
如何强制它停止将 yyyymmdd.hhmmss 添加到存储库路径?或者我是否可以使用 AppName 和 BuildNumber 检索存储库路径?
如果您要上传快照,Nexus 会使用时间戳动态存储它。那是因为您可以用较新的副本 w/same GAV 替换 -SNAPSHOTs。这与真正的 # jar 不同,后者 cannot/should 不会被重新部署,从而保持其完整性。
要下载-SNAPSHOT,您只需将其引用为-SNAPSHOT; maven、aether 等将检索最新的。
Maven(默认情况下)每天只检查 remote repository 是否有比您本地更新的版本,除非您使用 -U 选项或更改 updatePolicy。
如果你想要“实”数,那么你必须release罐子。
顺便说一句,您应该看到它是 -yyyymmdd.hhmmss-nn,其中 nn 是该版本的递增数字。
Nexus 支持 many different repository formats. If you only require maven, use Nexus 2 因为它更好地支持 Maven。
存储库类型:Maven 有 two distinct types:Release and Snapshot Repositories.
如果你想“上传包含发布工件的 zip 文件并根据构建版本号检索它?”,那么你应该这样做。
您必须 configure a repository of type release,而不是 snapshots(来自:-DrepositoryId=dsnexus-snapshots
)(或者除了键入 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 存储库中实施 cleanup strategy。
我已经从 Jenkins 上传了一些发布工件到 Nexus。我可以看到它们是根据我提供的 -D 版本在 Nexus 下创建的。
示例:AppName-BuildNumber-Snapshot.zip
但是,不知何故,存储库路径是自动生成的,它附加了额外的 yyyymmdd.hhmmss。
示例:AppName-BuildNumber-Snapshot-yyyymmdd.hhmmss.zip
我想从 Jenkins 下载发布工件,但由于自动生成的 Nexus 存储库路径,我无法在单独的作业中下载它。
如何强制它停止将 yyyymmdd.hhmmss 添加到存储库路径?或者我是否可以使用 AppName 和 BuildNumber 检索存储库路径?
如果您要上传快照,Nexus 会使用时间戳动态存储它。那是因为您可以用较新的副本 w/same GAV 替换 -SNAPSHOTs。这与真正的 # jar 不同,后者 cannot/should 不会被重新部署,从而保持其完整性。
要下载-SNAPSHOT,您只需将其引用为-SNAPSHOT; maven、aether 等将检索最新的。
Maven(默认情况下)每天只检查 remote repository 是否有比您本地更新的版本,除非您使用 -U 选项或更改 updatePolicy。
如果你想要“实”数,那么你必须release罐子。
顺便说一句,您应该看到它是 -yyyymmdd.hhmmss-nn,其中 nn 是该版本的递增数字。
Nexus 支持 many different repository formats. If you only require maven, use Nexus 2 因为它更好地支持 Maven。 存储库类型:Maven 有 two distinct types:Release and Snapshot Repositories.
如果你想“上传包含发布工件的 zip 文件并根据构建版本号检索它?”,那么你应该这样做。
您必须 configure a repository of type release,而不是 snapshots(来自:-DrepositoryId=dsnexus-snapshots
)(或者除了键入 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 存储库中实施 cleanup strategy。