使用 Jenkins + svn + maven 自动化部署 Spring Boot

目录

一、准备环境

二、配置防火墙

三、配置tomcat

3.1 解压

3.2 修改server.xml

四、安装 Jenkins

4.1 下载

4.2 启动tomcat

4.3 解锁 Jenkins

4.4 自定义插件安装

4.5 配置用户名密码

4.6 中文设置

五、插件安装和全局环境配置

5.1 插件安装

5.2 全局安全配置

5.3 全局工具配置

六、目标发布服务器配置

七、部署项目

八、验证


Jenkins 是 Devops 神器,本文介绍如何安装和使用 Jenkins + svn + maven 部署 Spring Boot 项目;

一、准备环境

Centos7.6
JDK1.8
Jenkins2.238 
maven3.5.4
apache-tomcat-7
maven默认已经安装完成;
jdk默认已经安装完成;

二、配置防火墙

#centos7
systemctl stop firewalld.service
==============================
#以下为:centOS 6.5关闭防火墙步骤
#关闭命令:
service iptables stop 
#永久关闭防火墙:
chkconfig iptables off
#两个命令同时运行,运行完成后查看防火墙关闭状态
service iptables status

三、配置tomcat

3.1 解压

#解压
zip apache-tomcat-7.0.75.zip

3.2 修改server.xml

#server.xml 地址
/home/jenkins/apache-tomcat-7.0.75/conf
#使用 vi 编辑 server.xml
vi server.xml

在server.xml中添加如入

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第1张图片

四、安装 Jenkins

4.1 下载

cd /home/jenkins
wget http://mirrors.jenkins.io/war/2.238/jenkins.war
#把下载下来的jenkins.war移动到tomcat中
mv jenkins.war /home/jenkins/apache-tomcat-7.0.75/webapps/

4.2 启动tomcat

#进入到 /home/jenkins/apache-tomcat-7.0.75/bin
#给启动脚本添加权限
chmod 777 s*
#启动tomcat
./startup.sh
#停止tomcat
./shutdown.sh
#查看进程,验证tomcat是否启动
ps -ef|grep tomcat

启动tomcat后,浏览器访问:http://ip地址:8084/jenkins

4.3 解锁 Jenkins

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第2张图片

依照提示,查看/root/.jenkins/secrets/initialAdminPassword 文件内容填入文本框

输入:49b1d9a63880431e85820d09b33eacac

4.4 自定义插件安装

进入用户自定义插件界面,建议选择安装官方推荐插件,因为安装后自己也得安装:

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第3张图片

接下来是进入插件安装进度界面:

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第4张图片

等待一段时间之后,插件安装完成,配置用户或者直接登录

4.5 配置用户名密码

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第5张图片

输入:admin/admin

4.6 中文设置

相对于英文不好的人纯英文界面不知道点哪里,不要着急,我们这里说一下怎么设置成中文;

1)进入Manage Jenkins中,点击Manage Plugins(插件设定)

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第6张图片

2)安装插件 Locale plugin

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第7张图片

3)安装中文汉化语言包插件 Localization: Chinese (Simplified)

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第8张图片

4)在系统管理——>系统配置中设定中文语言,方法如下:

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第9张图片

5)在Default Language中设定“zh_CN”简体中文,"zh_TW"繁体中文

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第10张图片

6)安装后重启 jenkins

重启方法:http://访问地址/restart,在jenkins访问url后面 添加 restart 点击 yes 重启即可。

7)插件卸载方法

将红框的内的插件卸载后重启Jenkins,灰色卸载会在“Locale plugin”插件卸载成功后可以点击。

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第11张图片

五、插件安装和全局环境配置

5.1 插件安装

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

插件安装:系统管理 > 插件管理 > 可选插件,勾选需要安装的插件,点击直接安装或者下载重启后安装。

5.2 全局安全配置

管理Jenkins > 配置全局安全性 > 可选插件,勾选需要安装的插件,点击直接安装或者下载重启后安装。

1)没有权限配置,只要登录就可以操作

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第12张图片

 

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第13张图片

2)配置权限,登录账号经过赋权才能有操作权限

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第14张图片

5.3 全局工具配置

1)Maven 配置

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第15张图片

 

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第16张图片

2)JDK 配置

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第17张图片

3)查看 maven 和 jdk 安装目录命令

echo $MAVEN_HOME
echo $JAVA_HOME

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第18张图片

六、目标发布服务器配置

使用用户名+密码方式登录目标发布服务器

管理Jenkins > 系统配置

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第19张图片

点击高级添加root账号密码

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第20张图片

七、部署项目

首页点击新建:输入项目名称

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第21张图片

下方选择构建一个 Maven 项目,点击确定。

勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10个

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第22张图片

源码管理,选择 SVN,配置 SVN 相关信息,点击 add 可以输入 SVN 的账户和密码

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第23张图片

点击添加,可以添加svn账号和密码

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第24张图片

在 Build 中输入打包前的 mvn 命令,如:

clean install -Dmaven.test.skip=true -Ptest

意思是:排除测试的包内容,使用后缀为 test 的配置文件。

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第25张图片

点击高级可以配置maven

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第26张图片

Post Steps 选择 Run only if build succeeds

点击Add post-build step,选择 Send files or execute commands over SSH

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第27张图片

Name 选择上面配置的 Push SSH

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第28张图片

Source files配置:target/xxx-0.0.1-SNAPSHOT.jar 项目jar包名

Remove prefix:target/

Remote directory:代码应用服务器的目录地址

Exec command:程序启动脚本

脚本内容:

DATE=$(date +%Y%m%d)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/java/jdk1.8.0_241
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/root/opt/data1/rs/centre
JARFILE=server-0.0.1-SNAPSHOT.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
scp $JARFILE backup/$JARFILE$DATE

java -jar $JARFILE > 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

这段脚本的意思,就是 kill 旧项目,删除旧项目,启动新项目,备份老项目。

注意xxxx.jar地址,因为用命令启动需要去找jar包,目前jenkins直接打在默认目录了,没有进行自定义设置,故如此配置。

八、验证

1)控制台输出,查看启动日志

使用 Jenkins + svn + maven 自动化部署 Spring Boot_第29张图片

 

2)登录发布目标服务器,通过命令形式查看进程是否起来,命令如下

至此 jenkins + svn + maven  部署Spring Boot项目结束。

你可能感兴趣的:(spring,Boot,spring,Linux,jenkens,spring,boot,maven,svn,centos)