当前位置: 首页 > news >正文

Jenkins运维之路(制品上传)

需要安装插件Nexus Artifact Uploader,然后再Jenkins密钥管理处添加好Nexus账号密码

1.代码片段

1.1 上传单个文件

//......此处省略stage('Upload to Nexus') {steps {script {// 使用之前生成的 version 变量nexusArtifactUploader artifacts: [[artifactId: 'basejar', // 替换为您的 artifactIdclassifier: '',file: 'target/spring-boot-3-hello-world-1.0.0-SNAPSHOT.jar', // 替换为您的文件路径type: 'jar' // 根据您的文件类型进行修改],[artifactId: 'basejar', // 同样的 artifactId,或根据需要修改classifier: 'pom',file: 'pom.xml', // 指向您的 pom.xml 文件type: 'pom' // 文件类型为 pom]],//文件file类型有jar,pom,war,zip,tar.gzcredentialsId: 'Nexus3-DevOps',groupId: 'top.xxx',nexusUrl: 'registryv.xxxx.top',nexusVersion: 'nexus3',protocol: 'https',repository: 'DevopsArtifact',version: "${_tag}"}}}
//....此处省略

1.2 上传zip文件

有时候你的代码是会做一个分离的 比如你的依赖jar放在了lib里面,resource放了配置文件

        stage('Build') {when {expression { // 检查 BRANCH_TAG 是否不以 'rel-' 开头return !params.BRANCH_TAG.startsWith('rel-')}}steps {ansiColor('xterm') { // 启用 AnsiColorecho "${GREEN}项目开始构建${RESET}"echo "Building"}sh 'mvn clean package -Dmaven.test.skip=true'sh 'tar zcvf spring-boot-3-hello-world-1.0.0-SNAPSHOT.tar.gz target/spring-boot-3-hello-world-1.0.0-SNAPSHOT.jar pom.xml target/lib target/resource'}}stage('Upload to Nexus') {steps {script {// 使用之前生成的 version 变量nexusArtifactUploader artifacts: [[artifactId: 'basejar', // 替换为您的 artifactIdclassifier: '',file: 'spring-boot-3-hello-world-1.0.0-SNAPSHOT.tar.gz', // 替换为您的文件路径type: 'tar.gz' // 根据您的文件类型进行修改],[artifactId: 'basejar', // 同样的 artifactId,或根据需要修改classifier: 'pom',file: 'pom.xml', // 指向您的 pom.xml 文件type: 'pom' // 文件类型为 pom]],//文件file类型有jar,pom,war,zip,tar.gzcredentialsId: 'Nexus3-DevOps',groupId: 'top.xxx',nexusUrl: 'registryv.xxx.top',nexusVersion: 'nexus3',protocol: 'https',repository: 'DevopsArtifact',version: "${_tag}"}}}

2.查看上传结果

image-20250919173150571

image-20250919173150571

3.制品下载

3.1 参数化构建设置

image-20250922174427350

image-20250922174427350

image-20250922174523253

image-20250922174523253

//上面定义的nexus3能够将你拉取到的列表存入到变量当中,这里在建立一个私服变量将上面定义参数拉取到的内容转换成字符串
String artifactUrl = "${env.artifactUrl}"
sh " wget ${artifactUrl} && ls " // Nexus3制品库无认证
//sh " wget --user=admin --password=Qwer@123 ${artifactUrl} && ls "   // Nexus3制品库有认证
http://www.dtcms.com/a/394985.html

相关文章:

  • 20届-高级开发(华为oD)-Java面经
  • 光流估计(可用于目标跟踪)
  • CANoe仿真报文CRC与Counter的完整实现指南:多种方法详解
  • sward入门到实战(4) - 如何编写Markdown文档
  • S32K146-LPUART+DMA方案实现
  • 【架构设计与优化】大模型多GPU协同方案:推理与微调场景下的硬件连接策略
  • 软件的安装python编程基础
  • Linux系统与运维
  • [Maven 基础课程]基于 IDEA 进行 Maven 构建
  • 一个基于 .NET 开源、简易、轻量级的进销存管理系统
  • 基于Flowlet的ARS(自适应路由切换)技术在RoCE网络负载均衡中的应用与优势
  • 计算机网络实验[番外篇]:MobaXterm连接Centos9的配置
  • Go语言实战案例-项目实战篇:实现一个词频分析系统
  • Grok 4 Fast vs GPT-5-mini:新一代高效AI模型开发者选型指南
  • LeetCode:47.从前序和中序遍历序列构造二叉树
  • MySQL安装避坑指南:从环境适配到故障修复的全场景实战手册
  • React教程(React入门教程)(React组件、JSX、React Props、React State、React事件处理、Hooks、高阶组件HOC)
  • 2025年CSP-S初赛真题及答案解析(完善程序第1题)
  • 六、页面优化
  • CVAT部署到虚拟机小记
  • scss基础学习
  • 基于衍射神经网络的光学高速粒子分类系统A1(未做完)
  • ffprobe安装与简单使用
  • close函数就像“关门“操作,用于关闭文件描述符释放系统资源
  • PyTorch 神经网络工具箱学习笔记
  • Qt常用控件之QWidget(三)
  • apache poi excel 单元格换行
  • 全能视频下载器-下载自媒体平台视频 v1.5.5 专业版
  • 状态模式指南:对象状态变化的优雅管理
  • 自动化多段视频删除:FFmpeg.AutoGen 与 C# 的完整实现​