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

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

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

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

输入:49b1d9a63880431e85820d09b33eacac

4.4 自定义插件安装

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

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

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

4.5 配置用户名密码

输入:admin/admin

4.6 中文设置

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

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

2)安装插件 Locale plugin

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

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

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

6)安装后重启 jenkins

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

7)插件卸载方法

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

在这里插入图片描述

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

5.1 插件安装

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

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

5.2 全局安全配置

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

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

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

5.3 全局工具配置

1)Maven 配置

2)JDK 配置

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

echo $MAVEN_HOME
echo $JAVA_HOME

六、目标发布服务器配置

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

管理Jenkins > 系统配置

点击高级添加root账号密码

七、部署项目

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

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

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

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

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

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

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

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

点击高级可以配置maven

Post Steps 选择 Run only if build succeeds

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

Name 选择上面配置的 Push SSH

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)控制台输出,查看启动日志

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

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

猜你喜欢

转载自blog.csdn.net/lovelichao12/article/details/106963504