栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jenkins中发布java项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jenkins中发布java项目

一,准备工作

1,插件安装
找到jenkins的工作目录更换插件源,可以提高安装速度和成功率

cd /var/lib/jenkins/updates
sed -i 's/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g' default.json && sed -i 's/http://www.google.com/https://www.baidu.com/g' default.json

需要安装的插件

Git #拉取git代码
maven #创建Maven项目
Git parameter #参数化构建
Extened Choice Parmeter #扩展选择框参数,支持多选
Role-based Authorization Strategy #用户授权
Publish Over SSH #远程主机

2,配置jenkins服务器全局的jdk和git工作目录(其他服务器不配置默认也会使用)


这里需要注意系统可能自带jre而不是jdk,会报错 Perhaps you are running on a JRE ?
解决办法:

		yum remove *openjdk*
		yum -y install java-1.8.0-openjdk-devel.x86_64

3,配置系统中的ssh用于远程到主机上执行脚本

二,配置项目

1,创建一个Maven项目

2,构建前的配置
Days to keep builds #构建保留的天数
Max # of builds to keep #构建保留的条数

使用凭据参数来完成参数化构建,定义变量branch值默认master

限制构建过程运行的节点(需要在 Manage Nodes and Clouds 中添加节点后才能使用)

3,配置代码仓库,分支接收上面定义的变量branch

4,构建添加打包命令
clean #清除产生的项目
install #在本地Repository中安装jar(自动编译和打包,然后安装到仓库)
maven.test.skip=true #不执行测试用例,也不编译测试用例类

5,构建后操作,备份旧版本,更新新版本启动服务

#update.sh
#使用前修改
#!/bin/env bash 

date=`date +%Y%m%d%H%M%S`
APP_NAME=test-0.0.1.jar #jar包名字
PASSWORD=123456 #部署那台的主机密码
WORKDIR=/root/test/ #工作目录
#检查程序是否在运行 
is_exist(){
pid=`ps -ef | grep ${APP_NAME} | grep -v $$ | grep -v tail |  awk '{print $2}' `
#若是不存在返回1,存在返回0 
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
is_exist
if [ $? -eq "0" ]; then
echo ${PASSWORD} | sudo -S kill -9 $pid
else
echo "${APP_NAME} is not running" 
fi
cd ${WORKDIR}
echo ${PASSWORD} | sudo -S mv ${APP_NAME} ${WORKDIR}/backup/${APP_NAME%%.*}${date}.jar
echo "备份成功"
cd /var/lib/jenkins/workspace/A-test-10.144.100.205/target/
sudo cp -r ${APP_NAME} ${WORKDIR}
echo "版本更新成功"
cd ${WORKDIR}
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ." 
else
java -jar ${WORKDIR}${APP_NAME} >/root/test/logs/test.log 2>&1 &
echo "程序已启动..."
fi
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME}${APP_NAME} is running. pid is ${pid} "
else
echo "${APP_NAME} is not running."
fi
exit
三,构建结果展示

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/981468.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号