Nexus 05 第二种方式 使用Jenkins Nexus插件上传制品
用插件的好处是可以使用DSL生成片段代码,但是代价是后期维护起来是很难受的,比如插件升级。后面可以使用api来实现上传,好处就是不需要依赖这些插件了,减少Jenkins的臃肿。
安装Nexus Artifact Uploader插件、使用片段生成器生成DSL。
插件上传和之前我们手动上传一样本质上还是调用了其API
下面是仓库信息
制品信息
stage('Nexus'){steps{script{nexusArtifactUploader artifacts: [[artifactId: 'devops-lib', classifier: '', file: 'target/demo-0.0.1-SNAPSHOT.jar', type: 'jar']],credentialsId: 'ff93f4bf-9d8c-4fc2-bccd-3e614f10d643', groupId: 'org.devops', nexusUrl: '139.198.166.235:8082', nexusVersion: 'nexus3', protocol: 'http', repository: 'devops-maven', version: '1.1.1'}}}
[Pipeline] { (Nexus)
[Pipeline] script
[Pipeline] {
[Pipeline] nexusArtifactUploader
Uploading artifact demo-0.0.1-SNAPSHOT.jar started....
GroupId: org.devops
ArtifactId: org.devops
Classifier:
Type: jar
Version: 1.1.1
File: demo-0.0.1-SNAPSHOT.jar
Repository:devops-maven
Uploading: http://139.198.166.235:8082/repository/devops-maven/org/devops/devops-lib/1.1.1/devops-lib-1.1.1.jar
10 % completed (1.7 MB / 17 MB).
20 % completed (3.4 MB / 17 MB).
30 % completed (5.1 MB / 17 MB).
40 % completed (6.8 MB / 17 MB).
50 % completed (8.5 MB / 17 MB).
60 % completed (10 MB / 17 MB).
70 % completed (12 MB / 17 MB).
80 % completed (14 MB / 17 MB).
90 % completed (15 MB / 17 MB).
100 % completed (17 MB / 17 MB).
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
这里只是上传制品,并不上传pom文件
进行优化, 将参数以变量的方式传递给函数。
最后写到共享库里面
//上传制品
def PushArtifacts(repoName,groupId, artifactId, version, type, filePath ){nexusArtifactUploader artifacts: [[artifactId: "${artifactId}", classifier: '', file: "${filePath}", type: "${type}"]],credentialsId: '111b337e-89a0-4761-9ca3-6ee626ccd7a1', groupId: "${groupId}", nexusUrl: '192.168.1.200:8081', nexusVersion: 'nexus3', protocol: 'http', repository: "${repoName}", version: "${version}"}
PushArtifacts('devops-maven','org.devops', 'devops-lib', '1.1.2', 'jar', 'target/demo-0.0.1-SNAPSHOT.jar' )
扩展: 可以在Jenkins页面添加参数, 让用户输入后进行发布。
pkg = sh returnStdout: true, script: """ ls target/ | grep -E "jar\$" """pkg = pkg.trim()println(pkg)// //demo-0.0.1-SNAPSHOT.jar// pkgName = pkg.split("-")[0]// pkgType = pkg.split("\\.")[-1]// println(pkgName + "| " + pkgType)PushArtifacts( "${params.repoName}", "${params.groupId}", pkgName, "${params.pkgVersion}",pkgType,"target/${pkg}")
要发布的时候可以直接下载,要下载用的就是这个链接
最后通过.去获取就行了,而不是通过split。
发布制品
安装Maven Artifact ChoiceListProvider (Nexus)插件
这个可以以参数的形式展现在Jenkins上面,然后选择生成包
这样在构建的时候就可以指定发哪个包了
Nexus 05 第二种方式 使用Jenkins Nexus插件上传制品相关推荐
- 点击/拖拽两种方式,预览并上传png/jpg/jpeg格式图片
<template><div class="content"><div class="PictureBox"><img ...
- JS一起学02:函数传参、操作属性第二种方式、提取行间事件、循环、this、焦点问题、联动选择、选项卡焦点图
一.函数传参 1.函数传参:参数就是占位符----函数里定不下来的东西 var a1=function(){ alert(123); }; function a(f){ // 相当于 f=a1 ...
- try_catch_异常处理的第二种方式,自己处理异常
package com.learn.demo02.Exception;import java.io.IOException;/*try...catch:异常处理的第二种方式,自己处理异常格式:try{ ...
- Qt|Linux工作笔记-第二种方式读取Linux中top命令(直接读取,非重定向)
第一种方式的链接如下: https://mp.csdn.net/postedit/84067805 第一种方式是重定向到文件,然后读取, 第二种方式不重定向到文件,直接读取! 利用QProcess的特 ...
- 繁易平台直接对接监测点的数据(除MQTT方式外第二种方式)
繁易平台直接对接监测点的数据(除MQTT方式外第二种方式) 一: 注册开发者秘钥信息 登录繁易平台,点击设置 点击开发者账号 点击添加开发者秘钥: 注意: 添加开发者秘钥后,一定要保存client ...
- JavaScript系列-02 HTML嵌入js代码的第二种方式
javaScript系列 HTML中嵌入js代码的第二种方式 脚本块的方式 文章目录 javaScript系列 前言 一.了解脚本块的方式 1.1运行规则 二.执行原理 1.编写代码 2.效果 总结 ...
- iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉提醒
一.环境配置 注意,本文章是以Jenkins2.263.4为例 1.首先安装Java环境:官网下载地址 2.安装Jenkins 建议下载Jenkins 2.263.4版本,因为最新版本存在login. ...
- 实现键盘录入的第二种方式。。。。。
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- 瀑布流第二种方式————基于ajax方式
第二种瀑布流是基于ajax方式工作的.与之前一种形式相比,这种方式可以向后台发送数据, 同时,ajax可以根据数据,每次只取一部分的数据,等滚轮划到底部时,再出发ajax,然后又去一次 models文 ...
最新文章
- 【每日学习Mybatis中基础】trim标签使用
- java 取pdf表格内容数据_Java 在PDF中添加表格
- tfs java开发需要jar_使用Spring框架开发最少需要哪些jar包,依赖jar包有哪些?
- -i 可以编译添加多个_大咖说 | 基于 NXP i.MX8 eIQ 环境搭建和编译
- 软件开发中部分代码的注解
- OAuth2.0学习(1-1)OAuth2.0是什么?
- 学习ASP.NET Core Razor 编程系列十三——文件上传功能(一)
- golang如何打印float64的整数部分_2020-08-10:如何不用加减乘除求浮点数的2倍值?...
- redis springmvc mysql_redis和mysql怎么一起在springmvc里面
- 4. Spring 如何通过 XML 文件配置Bean,以及如何获取Bean
- method java_解析Java中的Field类和Method类
- node 获取表单数据 为空_像声明类型一样写表单——基础功能
- caffe 图片数据的转换成lmdb和数据集均值(转)
- ASP.NET连接ACCESS数据库web.config内路径最优写法
- Mongodb亿级数据量的性能测试zz
- 初识 Vue(10)---(计算属性的 setter 和 getter)
- 怎么把网页保存成pdf格式-最简单操作
- 豆瓣top250html源码,用23行代码爬取豆瓣音乐top250
- RTL8188CUS驱动程序编译步骤
- 特斯拉神器TeslaMate一键安装,终于来了