新建item及其配置
点击确定按钮
General 默认填写
源码管理
Repository URL:gitlab 项目的URL如:http://IP(项目所在gitlab的IP地址)/mo/jenkinstest.git
Credentials:凭据(gitlab的用户名及密码)
Branch Specifier (blank for ‘any’): 指定构建项目的分支,如果为空构建所有分支
构建触发器
图片模糊部分为:GitLab webhook URL: http://IP(jenkins所在机器的IP):8080(jenkins所在机器的端口)/project/jenkinsTest(新建item的项目名称)
点击 advanced 如下图所示
要记住 GitLab webhook URL和Secret token 配置gitlab时需要使用!!!!!!!!!!
构建环境
Pre Steps
Build
Post Steps
#!/bin/bash
SERVER_NAME=jenkinsTest2
JAR_NAME=jenkinsTest2-0.0.1-SNAPSHOT
JAR_PATH=/var/lib/jenkins/workspace/jenkinsTest/jenkinsTest2/target
JAR_WORK_PATH=/opt/java
echo "查询进程全部信息命令: ps -ef|grep "$JAR_NAME" "
PID_INFO=`ps -ef|grep "$JAR_NAME" `
echo "全部进程全部信息: $PID_INFO "
PID=`ps -ef|grep "$JAR_NAME" | awk '{print $2}' `
echo "得到的进程ID: $PID"
echo "结束进程ID: $PID"
for id in $PID
do
kill -9 $id
echo "killed -9 $id"
done
echo "结束进程完成"
echo "复制jar到执行目录: cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cur_path=$(pwd)
echo "当前路径 "$cur_path" "
echo "开始进入到运行jar目录: cd $JAR_WORK_PATH"
cd $JAR_WORK_PATH
echo "已经进入到运行jar目录: cd $JAR_WORK_PATH"
echo "给$JAR_NAME.jar 赋775权限 开始 "
chmod 775 $JAR_NAME.jar
echo "给$JAR_NAME.jar 赋775权限 完成"
#后台发布
#dontKillMe 告诉jenkins 不要杀死 新启动的jenkinsTest2-0.0.1-SNAPSHOT.jar进程
BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
此shell脚本是指定构建的jar文件,复制到/opt/java文件,先kill当前jar启动的进程,在重新启动jar
注意:
1.如果springBoot项目要切换多环境启动,可将shell脚本最后一句更改为下句使用dev/prod/test替换
BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar -Dspring.profiles.active=dev &
2.JAR_NAME=jenkinsTest2-0.0.1-SNAPSHOT替换为pom.xml文件中JAR_NAME=finalName标签属性值
构建设置
此处可以配置邮箱,如果配置邮箱,构建出现问题可以把问题发送邮件给配置的邮箱
构建后操作
构建之后做一些操作
Gitlab配置
选中项目找到设置-》集成,最好使用权限比较高的用户登录gitlab,低权限用户可能不显示设置选项。
填写URL 和Secret Token
把构建触发器目录里的 GitLab webhook URL和Secret token 填入到上图标红线对应的部分。
勾选 Push events 选项
点击下面 Add webhook 按钮。点击测试选项。项目就可以实现自动构建了。。。。。。。