- Jenkins部署在Linux系统请参照
- 切换成中文请参照
- 【系统管理】-【全局工具配置】配置Java环境需要的工具;JDK、Git、Maven
说明:都不要勾选【自动安装】
3.1、JDK配置,JDK环境配置自己Google百度一下
我的JDK目录是在/home/software/jdk,根据自己自行修改 - 3.2、Git配置
安装命令:yum install git
Git地址查询: whereis git - Git配置地址:取 /usr/local/git + /bin/git配置
- 3.3、Maven配置
下载Maven,然后作如下配置,/home/software/maven是我maven的地址,地址不同,请做相应修改 - 新建一个Jenkins任务,Java项目这里选maven构建
4.1、【General】这里是一些一般的配置,这里只要【丢弃旧的构建】,构建会生成大量的文件,配置不需要手动清除,配置就行,会自动释放磁盘占用
4.2、【源码管理】配置需要构建的Git仓库源码
Credentials:Git账号密码添加
Git账号密码验证通过后,不会在报错;
【Branches to build】*/master -> */${branch} 可以配置构建的分支
配置可传入分支构建,需要在【General】-【参数化构建过程】添加【字符参数】配置如下图:
4.3、【构建触发器】这里我选择默认触发器
当然也可以选择【定时构建】、【轮询 SCM】
4.4、【构建环境】和【Pre Steps】我这里选择默认,有需要改动自行修改
4.5、【Build】maven命令打包,根据自己情况自行修改
clean package -pl demo -am -Dmaven.test.skip=true -P dev
说明:
-pl 选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔),这里只想打包demo模块
-am 表示同时处理选定模块所依赖的模块
-P 打包的环境
【保存】后可以看到
进行构建操作,可以看到上面配置的可以操作切换分支
4.6、【Post Steps】构建后的操作,这里执行shell脚本
如下两种形式都是发布到和Jenkins是同一台服务器
war形式发布:
这里先说构建后发布到tomcat,
war copy过以后,tomcat是启动状态,会自动解压发布war,所有这里只需要copy,这里根据自己需求修改脚本
#!/bin/sh
# copy demo.war到编译好的文件到tomcat目录的webaaps
cp -r /var/lib/jenkins/workspace/demo/demo/target/demo.war /home/tomcat/apache-tomcat-demo/webapps
问题:在执行脚本过程中,会遇到权限问题,脚本执行不了
解决请参照:当然也可以执行本地脚本,比如服务器脚本地址/home/sh/demo.sh
jar形式发布:
shell脚本如下
#!/bin/sh
#Copy jar to target path
BUILD_ID=DONTKILLME #后台执行
pid=$(ps -ef|grep demo.jar|grep -v grep | awk '{print }')
#copy jar 到启动目录
cp -r /var/lib/jenkins/workspace/demo/demo/target/demo.jar /home/jar/demo
# 关闭已经启动的jar进程
function stop(){
if [ -n "$pid" ]
then
echo "pid进程 :$pid"
kill -9 $pid
else
echo "进程没有启动"
fi
}
stop
sleep 5s
#发布jar服务
function start(){
cd /home/jar/demo
nohup java -jar demo.jar --server.port=8082 >demo.log 2>&1 &
}
start
备注:BUILD_ID=DONTKILLME 必须添加,不然会不执行【nohup java -jar demo.jar --server.port=8082 >demo.log 2>&1 &】
具体请参照:
4.7、【构建设置】
可以设置发邮箱
4.8、【构建后操作】
我这里没有设置,有需要自行设置
- 执行构建
5.1、点击红框构建
5.2、可以点击红框查看控制台输出日志
5.3、控制台输出,另外一个项目举例