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
三,构建结果展示



