一.安装并配置Git
1. 安装git
在linux服务器上安装git:
yum install git
查看git是否安装成功:
git version
能够显示版本号即说明安装成功:
设置git用户名和邮箱:
git config --global user.name "username"
git config --global user.email "[email protected]"
生成授权证书,中间过程直接全部回车:
ssh-keygen -t rsa -C "[email protected]"
查看.ssh文件夹下是否成功生成证书(id_rsa是私钥,id_rsa.pub是公钥):
2. git证书配置
打开 https://github.com/settings/keys,进入SSH keys配置:
将公钥中的内容复制到公钥文本框中并保存:
输入以下命令,验证git的配置是否正确:
ssh git@github.com
提示以下信息即说明配置正确:
二. 安装并配置maven
下载 maven 压缩包:
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip
解压缩:
unzip apache-maven-3.6.0-bin.zip
编辑 profile 文件:
vi /etc/profile
在文件末尾添加环境变量:
export MAVEN_HOME=你的maven路径
export PATH=${
MAVEN_HOME}/bin:$PATH
使环境变量立即生效:
source /etc/profile
查看是否安装成功:
mvn -version
显示如下:
三. 将Linux注册到Jenkins
在Jenkins中依次点击:系统管理 -> 节点管理 -> 新建节点:
节点的详细配置:
其中的服务器用户名和密码配置要选择 Username with password:
还需要配置git的安装路径,可以通过which git
命令来查询:
保存配置后,运行该节点,点击启动代理按钮,连接Linux服务器。
四. 新建Jenkins任务
输入任务名称,构建maven项目:
配置限制项目的运行节点为当前节点:
配置项目路径,私有项目需要配置用户名和密码:
配置maven打包命令:clean package -Dmaven.test.skip=true
Post Steps 选择第一个选项,编写构建脚本:
脚本内容如下:
#!/bin/sh
echo "开始执行shell脚本"
# 在jenkins环境中一定要加这句话,否则这个脚本进程最后会被杀死
export BUILD_ID=dontKillMe
# 指定最后编译好的jar的存放位置
JAR_PATH=你的路径
# 如果路径不存在,就创建路径
[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH
# 指定jenkins中存放编译好的jar的位置
JENKINS_JAR_PATH=jar的位置
# 如果路径不存在,就创建路径
[ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH
# 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关)
JENKINS_JAR_NAME=apis.jar
# 获取该项目的进程号,用于重新部署项目前杀死进程
process_id=$(ps -ef | grep apis | 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}
# 后台启动项目,并且将控制台日志输出到system.log中
nohup java -jar ${
JENKINS_JAR_NAME} -Dfile.encoding=UTF-8 > system.log 2>&1 &
echo "shell脚本执行完毕"
点击保存,再修改全局配置。
五. 修改全局配置
配置maven的settings文件设置和 jdk 的路径:
配置 maven 的安装路径:
保存全局配置后,选择立即构建:
查看控制台,第一次构建会慢一点,因为要下载大量的 jar 包,构建成功日志如下:
打开服务器,通过netstat -anp|grep 端口号
来获取 PID, 之后查询当前进程开始运行的时间,查看服务是否成功启动:
ps -p PID -o lstart
发现确实是jenkins刚刚构建完成启动的时间就说明一切ok了: