Jenkins部署SpringBoot项目学习

861 阅读2分钟

前期准备

创建一个git项目。

这里我通过idea创建了一个SpringBootHelloWorld项目。

image-20210406142327558.png

本地通过Idea确保可以正常的对代码进行push\pull操作。

运行Jenkins。

安装插件

Maven构建

image-20210406142618385.png

安装Publish Over SSH,这个插件的作用是为了构建完成后,将项目发布到指定的服务器上去。

image-20210406142800577.png

配置全局SSH

回到Jenkins控制台,点击系统管理-->系统配置 ,找到Publish Over SSH栏,按照自己的服务器配置依次填写host name username password相关内容。

如果没有配置过,点击新增按钮即可。

image-20210406143253325.png

配置完成可以点击test configuration测试,如果显示success,则表示当前服务器配置正确,可以联通。

创建任务

新建任务

这里,由于安装了maven插件,因此此处会多一个选项:构建一个maven项目

image-20210406143819104.png

任务配置

这里主要配置的有几个方面。

  1. git源配置,填写当前项目的git地址,私有项目需要配置授权。

image-20210406144042171.png 2. 构建环境配置

image-20210406144414108.png 3. Build配置

Goal and options填写项目构建的命令,

image-20210406144516675.png 4. Post Steps

选择Run only if build succeeds 并且添加Post步骤,选择Send files or execute command over SSH,配置下图所需的几个参数。

image-20210406145546513.png

name:选择前面添加的SSH Server
Source files:要推送的文件
Remove prefix:文件路径中要去掉的前缀,
Remote directory:要推送到目标服务器上的哪个目录下
Exec command:目标服务器上要执行的脚本

start.sh内容如下所示:

# jenkins编译之后的jar包位置,在jenkins工作目录下
JAR_PATH=/root/.jenkins/workspace/jenkins-java/target
# 自定义的jar包位置
DIR=/usr/local/api
## jar包的名称
JARFILE=jenkins-demo-0.0.1-SNAPSHOT.jar
if [ ! -d $DIR/backup ];then
   mkdir -p $DIR/backup
fi
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
if [ -f $DIR/backup/$JARFILE ]; then
        rm -f $DIR/backup/$JARFILE
fi
mv $JAR_PATH/$JARFILE $DIR/backup/$JARFILE
java -jar $DIR/backup/$JARFILE > out.log &
if [ $? = 0 ];then
        sleep 30
        tail -n 50 out.log
fi
cd $DIR/backup/
ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf

ps: start.sh文件可能执行不成功,需要给与可执行权限。

chmod 777 start.sh

点击保存。立即构建,构建成功后查看配置服务器路径是否存在jar文件,并且访问对应端口能够成功。

image-20210406150122371.png 如果一切正常,说明部署成功了。