Jenkins
Jenkins的官网是这么介绍自己的:Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software. 很帅的描述!
Jenkins安装及配置
1.1 官网下载安装LTS版本:https://jenkins.io/zh/download/
1.2 Linux 下安装,可以使用 java -jar xx.war的方式启动,也可以使用脚本的方式启动
#!/bin/bash
pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l`
if [ "$1" = "start" ];then
if [ $pid -gt 0 ];then
echo 'jenkins is running...'
else
java -jar jenkins.war --httpPort=8081 >/dev/null 2>&1 &
fi
elif [ "$1" = "stop" ];then
exec ps -ef | grep jenkins | grep -v grep | awk '{print $2}'| xargs kill -9
echo 'jenkins is stop..'
else
echo "Please input like this:"./jenkins.sh start" or "./jenkins stop""
fi
使用命令
./jenkins.sh stop
./jenkins.sh start
2.配置
2.1 启动Jenkins
2.2 安装插件
2.3 全局配置
maven/jdk/git/ssh server …
3.自动构建部署SpringBoot项目
- 3.1访问Jenkins,新建Item
- 3.2输入Item名,选择构建Maven项目
- 3.3项目配置
- 3.3.1源码管理
- 3.3.2添加访问凭据:点击添加,添加访问认证
- 3.3.3构建环境:构建环境中勾选“Add timestamps to the Console Output”,代码构建的过程中会将日志打印出来
-
- 3.4Build:在Build中填写Pom位置(多模块,单一模块默认即可),并填写Maven打包命令
- 3.3.5 Post Steps:选择Run only if build succeeds,打包成功后执行
- 3.3.6 点击Add post-build step,选择 Send files or execute commands over SSH:构建成功后的操作,通过SSH传输文件,并执行相应脚本或者命令
- 3.3.7 SSH Publishers配置
启动脚本示例
启动脚本:下面脚本的思路是先杀死已有项目进程,备份旧Jar,获取新Jar包并启动;
网上有很多类似脚本,可以另外搜索。
DATE=$(date +%Y%m%d)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/local/java/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/apps/proj-packages/my-springboot/springboot-admin
JARFILE=springboot-admin.jar
if [ ! -d $DIR/backup ];then
mkdir -p $DIR/backup
fi
cd $DIR
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
mv $JARFILE backup/$JARFILE$DATE
mv -f /root/.jenkins/workspace/Springboot-Admin/springboot-admin/target/$JARFILE .
java -jar $JARFILE --spring.profiles.active=prod > out.log &
if [ $? = 0 ];then
sleep 30
tail -n 50 out.log
fi
cd backup/
ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf
(完)