jenkins按版本发布maven项目
1.先为java这个项目创建三个版本
vim pom.xml
vim src/main/java/com/ghz/testweb/App.java
git add .
git commit -m "second"
git tag -a v1.2 -m 'version 1.2'
git push -u origin master
git push origin v1.2
修改后的pom.xml

修改war的输出内容

v1.3标签是一样的道理
vim pom.xml
vim src/main/java/com/ghz/testweb/App.java
git add .
git commit -m "third"
git tag -a v1.3 -m 'version 1.3'
git push origin master
git push origin v1.3
gitlab上三个标签的截图

2.按版本发布
a.安装git parameter plugin插件

b.修改项目配置,勾选<参数化构建过程>后的一系列操作

c.创建变量名 version_tag

d.在源码管理中将master修改为上面定义的变量,默认是master,即每次构建都是拉取最新的代码,使用变量的方式可以使任务构建更加灵活

e.执行shell的语句替换变量
目前的打包规则是:pom.xml中的<artifactId>testweb</artifactId>和<version>v1.4</version>,
这两者的结合,作为war包的命名,如:/var/lib/jenkins/workspace/java-maven/target/testweb-v1.4.jar,所以打标签时的tag和pom.xml中的版本相对应,使任务构建更加清晰.

f.选择标签进行发布

发布v1.2

发布v1.4

3.用脚本传参的方式发布
mkdir -p /server/scripts
cd /server/scripts
vim deploy-java.sh
chmod +x deploy-java.sh
ln -s /server/scripts/deploy-java.sh /usr/bin/
脚本内容

将所有命令替换成一行

构建成功

4.解决jenkins无法启动、不让jenkins登录了、publish-over-ssh插件
a.今早起来,访问10.0.0.27:8080,发现jenkins无法访问,到服务器上一看,发现jenkins进程没有起,看了一下启动脚本,JENKINS_LOCKFILE="/var/lock/subsys/jenkins",在停服务的时候要先把锁文件删除,但是关服务器的时候,系统不会帮你删的.所以手动删除了这个文件之后,服务可以正常启动了;
b.之前为了能让jenkins可以登录系统并给他生成密钥对,将/etc/passwd中他的/bin/false改为了/bin/bash,现在尝试将/bin/bash改为/bin/false,重启服务,任务仍可以正常构建;
c.publish-over-ssh插件在我们的实验当中没有用到,今天尝试了一下,用之前给jenkins创建的密钥对去验证很轻松就通过了,等以后用到的时候,再来配置,还是那句话:基础打好了,干什么都事半功倍.可以不配密码,用私钥就能连接成功.

连接测试成功

d.重启jenkins多显示了两行
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
该错误表示getcwd命令无法定位到当前工作目录.一般来说是因为你 cd 到了某个目录之后 rm 了这个目录,这时去执行某些 service 脚本的时候就会报 getcwd 错误.只需要 cd 到任何一个实际存在的目录下在执行命令即可.

"经济基础决定上层建筑"这句话不仅适用与宏观,我们本身的生活也遵循这这个规律.
参考博客:https://yq.aliyun.com/articles/485307
马克思-全世界通用的5句话:https://baijiahao.baidu.com/s?id=1614169637974368104
jenkins按版本发布maven项目的更多相关文章
- 配置Jenkins 实现自动发布maven项目至weblogic(svn+maven+weblogic12c)
Jenkins安装完成之后,需要我们对其配置,然后才可以实现自动部署项目. 前提 防火墙开放weblogic的7001端口 Linux(CentOS):firewall-cmd --zone=publ ...
- Windows下配置Jenkins 实现自动发布maven项目至tomcat(svn+maven+tomcat)
Jenkins安装完成之后,需要我们对其配置,然后才可以实现自动部署项目. 前提 防火墙开放tomcat的8080端口 Linux(CentOS):firewall-cmd --zone=public ...
- 3.发布Maven项目到nexus中
1.在pom.xml文件中配置需要发布的工厂 如果想把项目发布到nexus中,需要在pom.xml中配置releases和snapshots版本发布的具体repository <distribu ...
- Tomcat发布Maven项目遇到异常:java.lang.OutOfMemoryError: PermGen space
前言: 本问题出现在tomcat 7发布 web3.0Maven项目的时候出现. 问题阐述: 异常:java.lang.OutOfMemoryError:PermGen space 解决如下: 1. ...
- Gitlab+Jenkins学习之路(八)之发布maven项目及按版本发布
一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 ...
- jenkins+gitlab发布maven项目
1.简介:什么是Maven Maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架; 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生 ...
- 发布Maven项目 nexus
1.在pom.xml文件中配置需要发布的工厂 如果想把项目发布到nexus中,需要在pom.xml中配置releases和snapshots版本发布的具体repository <distribu ...
- Jenkins总结2-部署maven项目
1. 部署Maven项目 1.1 新建项目 选择新建任务 输入任务名称,并选择构建一个Maven项目.如果你的页面没有看到“构建一个maven项目”,则需要安装Maven Integration插件. ...
- 使用Jenkins可持续集成maven项目
首先下载最新的Jenkins的war包,放在tomcat的webapps的目录下,然后运行,例如: http://121.42.62.45:8080/jenkins/ 然后按照一步步的提示,下载相关的 ...
随机推荐
- Thinkphp5 的常用连式查询
目录 取出表中改字符串前两位等于01的数据 按主键查询 不按主键查 JOIN方法 的左右连接 not in 方法 like 查询 where 按条件筛选查询 取出表中改字符串前两位等于01的数据 $p ...
- Huawei warns against 'Berlin Wall' in digital world
From China Daily Huawei technologies criticized recent registration imposed on the Chinese tech comp ...
- HDU:2586-How far away
How far away Time limit1000 ms Memory limit32768 kB Problem Description There are n houses in the vi ...
- 面试(手打手写,待更新loading...)
1)JAVA基础面试 1,引用数据类型和基本数据类型的区别是什么? Byte 1 short 2 int 4 long 8 Boolean 1 char 2 float 4 double 8. 基本数 ...
- Java技术——Java泛型详解
.为什么需要泛型 转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52230032 泛型在Java中有很重要的地位,网上很多文章罗列各种 ...
- Question | 移动端虚拟机注册等作弊行为的破解之道
本文来自网易云社区 "Question"为网易云易盾的问答栏目,将会解答和呈现安全领域大家常见的问题和困惑.如果你有什么疑惑,也欢迎通过邮件(zhangyong02@corp.ne ...
- const用法归纳总结 C++
非常好的一篇分析const的总结归纳, 在此谢谢原作者:http://blog.csdn.net/zcf1002797280/article/details/7816977 在普通的非 const成员 ...
- Tensorflow 笔记 -- tensorboard 的使用
Tensorflow 笔记 -- tensorboard 的使用 TensorFlow提供非常方便的可视化命令Tensorboard,先上代码 import tensorflow as tf a = ...
- hdu5443 The Water Problem
The Water Problem Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Othe ...
- 剑指offer 面试题38
面试题38:数字在排序数组中出现的次数 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4. 主要的思路是进 ...