jekins自动化部署sringboot项目

这是我参与11月更文挑战的第12天,活动详情查看:2021最后一次更文挑战

1. 前提

1. jekins与部署项目所用服务器为同一台

2.下载并运行jekins.war包

由于官方网站下载比较慢,所以我将相关安装包上传到了csdn: download.csdn.net/download/we…

首先,我们从Jenkins官方网站jenkins.io/ 下载最新的war包。虽然Jenkins提供了Windows、Linux、OS X等各种安装程序,但是,这些安装程序都没有war包好使。我从未见过Jenkins这样把Java包做得如此简单的项目。只需要运行命令:

java -jar jenkins.war
复制代码

Jenkins 就启动成功了!它的war包自带Jetty服务器,第一次启动 Jenkins 时,出于安全考虑,Jenkins 会自动生成一个随机的按照口令。注意控制台输出的口令,复制下来,然后在浏览器输入密码:

INFO: 

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

0cca37389e6540c08ce6e4c96f46da0f

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************
复制代码

访问 浏览器访问:http://localhost:8080/
在这里插入图片描述
输入:0cca37389e6540c08ce6e4c96f46da0f
进入用户自定义插件界面,建议选择安装官方推荐插件,因为安装后自己也得安装:
在这里插入图片描述
接下来是进入插件安装进度界面:
在这里插入图片描述

==插件一次可能不会完全安装成功,可以点击Retry再次安装。直到全部安装成功(我是尝试安装了3次才完全成功)==

在这里插入图片描述
等待一段时间之后,插件安装完成,配置用户名密码:
在这里插入图片描述

输入:admin/admin

系统管理-》全局工具配置 jdk路径:
在这里插入图片描述

3.插件安装和配置

有很多插件都是选择的默认的安装的,所以现在需要我们安装的插件不多,Git plugin 和 Maven Integration plugin,publish over SSH。

插件安装:系统管理 > 插件管理 > 可选插件,勾选需要安装的插件,点击直接安装或者下载重启后安装
在这里插入图片描述

配置全局变量

系统管理 > 全局工具配置

JDK

配置本地 JDK 的路径,去掉勾选自动安装
在这里插入图片描述

Maven

配置本地maven的路径,去掉勾选自动安装

在这里插入图片描述

其它内容可以根据自己的情况选择安装。

4、新建任务并配置任务相关设置

在这里插入图片描述

4.1 源码管理

在这里插入图片描述
如果出现 :

Failed to connect to repository : Error performing command: git ls-remote -h https://gitee.com/lvgo/sandbox.git HEAD
复制代码

请检查服务器是否安装了git

apt-get install git
复制代码

4.2.jenkins执行内容和操作成功后执行shell

clean package -Dmaven.test.skip=true

# 将应用停止
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep dofun-api.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
mv -f /root/.jenkins/workspace/dofunStreet/api/target/dofun-api.jar /usr/local/dofun/dofun-api.jar
chmod 777 /usr/local/dofun/dofun-api.jar
#bash /usr/local/dofun/start.sh
BUILD_ID=dontKillMe /usr/local/dofun/start.sh
复制代码

对应的启动脚本(start.sh)

nohup java -jar /usr/local/dofun/dofun-api.jar > /usr/local/dofun/dofun.log 2>1&~~~
复制代码

在这里插入图片描述

==可根据 使用tail命令查看项目的启动日志:日志位置: /usr/local/dofun/dofun.log==