昨天在公司的测试环境中安装一个jenkins来自动部署spring boot的项目;
用git来管理项目;
1、安装git
安装命令 yum install git
2、安装 maven
下载maven http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz
解压文件:
tar -evf apache-maven-3.5.3-bin.tar.gz
配置path:
vi /etc/profile 编辑系统配置文件
#set Maven environment
export MAVEN_HOME=/usr/local/software/dir-maven/apache-maven-3.5.0
export PATH=$MAVEN_HOME/bin:$PATH
刷新path:
source /etc/profile
进入到 /apache-maven-3.5.0/conf/
编辑 settings.xml ,增加一个mirror;
3、安装jenkins
yum install jenkins
配置 可以百度;这里不再详细说了;
4、在jenkins中创建工程项目;
5、配置git ;
可以用git的用户登入; 点击这个add,添加一个git账户
6、配置自动部署的shell脚本
今天主要来来讲一自动部署的脚本,其中一个就是mvn命令; 我在linux环境中添加 了maven 的path,在这里就找不到;
解决办法:简单粗暴 ;直接上mvn命令的全路径,就ok了;
这个执行脚本的命令是这个工程的工作空间;执行脚本的当前目录是工作空间目录;所以可以直接的mvn clean install;
脚本执行程序;可是就是这么那个也启动不聊;---这里有一个坑;就是jenkins 在构建的结束的时候,会自动的把创建的进程会杀掉;命令都执行了;springboot是启动了的;但是马上被jenkins杀掉;
解决办法:就是去jenkins 的系统设置系统变量
BUILD_ID = allow_to_run_as_daemon ;
或者在脚本中添加一个BUILD_ID = allow_to_run_as_daemon
附上上面的自动部署脚本:
/usr/local/maven/apache-maven-3.5.2/bin/mvn clean install
cp -f ./moka/moka-client/target/moka-client.jar /home/work/withhold/
cp -f ./moka/moka-admin/target/moka-admin.jar /home/work/withhold/
cp -f /home/work/withhold/moka-client.jar /home/work/withhold/moka-client7761.jar
cp -f /home/work/withhold/moka-admin.jar /home/work/withhold/moka-admin7751.jar
#!/bin/bash
pid=`ps -ef | grep moka-client7761.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 强制终止
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
pid=`ps -ef | grep moka-admin7751.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 强制终止
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
cd /home/work/withhold
nohup /usr/java/jdk1.8.0_131/bin/java -jar /home/work/withhold/moka-admin7751.jar --server.port=7751 > /home/work/withhold/logs/log-moka-admin7751.log 2>&1 &
nohup /usr/java/jdk1.8.0_131/bin/java -jar /home/work/withhold/moka-client7761.jar --server.port=7761 > /home/work/withhold/logs/log-moka-client7761.log 2>&1 &