You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins使用nexusArtifactUploader上传Zip文件时被自动重命名如何解决?

解决Jenkins流水线上传Nexus保留原文件名问题

问题原因

你遇到的文件名被追加时间戳的情况,是因为nexusArtifactUploader插件在上传SNAPSHOT版本制品时,默认启用了uniqueVersion特性,会自动生成带时间戳的唯一文件名,这是Nexus2对快照版本的标准处理逻辑,但可以通过配置禁用。

解决方案

方案1:修改nexusArtifactUploader插件配置(推荐)

只需在artifacts配置中添加uniqueVersion: false参数,同时确保artifactId与原文件名的前缀一致(你的原文件名是my_project_load_load-0.1.29-SNAPSHOT.zip,所以artifactId应设为my_project_load_load):

nexusArtifactUploader artifacts: [[
    artifactId: 'my_project_load_load', 
    classifier: '', 
    file: '/apps/external/5/jenkins-node-home/workspace/my_project_load_load-0.1.29-SNAPSHOT.zip', 
    type: 'zip',
    uniqueVersion: false
]], credentialsId: 'Aiman_Sarosh_cred', groupId: 'com.group.id', nexusUrl: 'nexus.com/nexus', nexusVersion: 'nexus2', protocol: 'https', repository: 'ict-snapshots', version: '0.1.29-SNAPSHOT'

该参数会禁用插件自动生成时间戳的逻辑,上传后的文件名将与原文件一致。

方案2:改用Maven命令手动上传(兼容性更强)

如果插件版本不支持uniqueVersion参数,可以直接用mvn deploy:deploy-file命令上传,完全控制文件名:

sh '''
mvn deploy:deploy-file \
  -DgroupId=com.group.id \
  -DartifactId=my_project_load_load \
  -Dversion=0.1.29-SNAPSHOT \
  -Dpackaging=zip \
  -Dfile=/apps/external/5/jenkins-node-home/workspace/my_project_load_load-0.1.29-SNAPSHOT.zip \
  -DrepositoryId=ict-snapshots \
  -Durl=https://nexus.com/nexus/content/repositories/ict-snapshots \
  -DuniqueVersion=false
'''

注意事项:

  • 确保Jenkins节点已安装Maven
  • 在Maven的settings.xml中配置对应repositoryId=ict-snapshots的服务器凭证(用户名+密码),避免明文传递敏感信息

额外检查

确认Nexus的ict-snapshots仓库配置允许覆盖快照制品(Nexus2默认快照仓库允许覆盖,若需重复上传同一文件名需保证此配置开启)。


内容的提问来源于stack exchange,提问作者aiman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 09:40:36