本文是我的jenkins入门demo,由于学习jenkins时间短,先介绍下简单maven项目的构建
(1)下载jenkins,参考https://www.jianshu.com/p/368685768680,,安装好插件,然后准备一个githup的项目
备注:有时候执行shell命令提示无权限,这个修改jenkins的用户为root
vim /etc/sysconfig/jenkins
(2)服务器上安装maven,jdk,git环境,配置方法自行百度,很简单
(3)jenkins 配置
点击 系统管理->全局工具配置
配置maven,路径写服务器安装地址的配置文件
配置JDK,别名随便写,路径写jdk环境地址
配置git 别名默认,路径地址写安装路径
保存
(3)新建任务,名称随便写,下边选构建maven项目(后续学习深了,可以选择流水线,这个是生产用的最多的)
描述随便写
源码管理用git,并填写git地址和账号密码,分支选mater
构建触发器就选这两个,下边的就是wenhook自动构建
bulid 输入maven打包命令
shell脚本的内容,根据项目的实际需求编写
#!/bin/sh
echo "开始执行shell脚本"
# 在jenkins环境中一定要加这句话,否则这个脚本进程最后会被杀死
export BUILD_ID=dontKillMe
# 指定最后编译好的jar的存放位置
JAR_PATH=/opt/workspace/cicdtest
# 如果路径不存在,就创建路径
[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH
# 指定jenkins中存放编译好的jar的位置
JENKINS_JAR_PATH=/var/lib/jenkins/workspace/cicdtest/target
# 如果路径不存在,就创建路径
[ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH
# 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关)
JENKINS_JAR_NAME=cicdserver-0.0.1.jar
# 获取该项目的进程号,用于重新部署项目前杀死进程
process_id=$(ps -ef | grep cicdserver | grep -v "grep" | awk '{print $2}')
# 如果该项目正在运行,就杀死项目进程
if [[ ! -z "$process_id" ]]
then
echo "停止服务"
kill -9 $process_id
else
echo "服务未启动"
fi
# 进入Jenkins中编译好的jar的位置
cd ${JENKINS_JAR_PATH}
# 将Jenkins中编译好的jar复制到最终存放项目jar的位置
cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH
# 进入到存放项目jar的位置
cd ${JAR_PATH}
# 后台启动项目,并且将控制台日志输出到nohup.out中
nohup java -jar ${JENKINS_JAR_NAME} --server.port=9000 -Dfile.encoding=UTF-8 >nohup.out &
echo "shell脚本执行完毕"
保存后退出
(4)配置github webhook(gitlab,码云类似)
这个 payload url可在jenkins的系统配置中配置生成
点击系统管理->系统配置->gitHup服务器,点高级
勾选会生成一个url,复制粘贴到上边需要的地方
(5)测试
这里可以直接构建(手动构建),也可以通过push代码来自动构建