jenkins+springboot+git自动化部署

  |   0 评论   |   323 浏览

Jenkins安装

到Jenkins的官网:http://jenkins.io 下载jenkins.war

然后将jenkins.war文件上传到Linux服务器,执行

nohup jar -jar jenkins.war &

启动Jenkins

在页面上如何授权码进入Jenkins,授权码可以在启动Jenkins的命令行中看到,只有第一次进入时需要输入授权码

1.png

点击Install suggested plugins,安装Jenkins建议安装的插件,如果部分插件没有安装成功,可以重复多次,直到所有的插件都安装成功

2.png

创建用户

创建用户.png

再安装几个比较好用的Jenkins插件:Rebuilder、Safe Restart、Publish Over SSH、Maven Integration 依次点击:系统管理 -> 插件管理 -> 可选插件,输入插件名搜索插件

插件安装.png

点击直接安装

给刚创建的用户分配权限 依次点击:系统管理 -> 全局安全配置 -> 安全矩阵 -> Add User or group name

权限.png

点击Add User or group name,添加自己的账号(我的是admin账号),给账号分配权限,我是给该账号所有的权限,如果是普通的账号,可以去掉Administrator(第一个,系统管理的权限)

Linux服务器设置

安装Java jdk:

yun install java

查看是否安装成功:

java -version

3.png

详细步骤:https://www.haowenbo.com/articles/2019/07/24/1563962605146.html

安装并配置Git

安装Git命令:

yum install git

查看git是否安装成功:

git version

4.png

将git初始化并生成授权证书

设置用户名和邮箱,用户名和邮箱不需要是真实的个人信息

git config --global user.name "admin"
git config --global user.email "admin@abc.com"

6.png

生成授权证书,中间直接全部回车就行

ssh-keygen -t rsa -C "admin@abc.com"

5.png

查看证书是否生成成功

cd ~/.ssh/
ll

7.png

id_rsa是私钥,id_rsa.pub是公钥

gitee证书配置

在gitee中依次点击:设置 -> 安全设置 -> ssh公钥,将公钥中的内容复制到公钥文本框中,随便写一个标题即可

gitee.png

验证git的配置是否正确

ssh git@gitee.com

安装并配置maven

直接官网下载解压安装后在/etc/profile配置环境变量

export MAVEN_HOME=/opt/apache-maven-3.6.1
export PATH=${MAVEN_HOME}/bin:$PATH

查看是否安装成功

source /etc/profile
mvn -version

是否安装成功.png

将Linux注册到Jenkins上

新建节点

在Jenkins中依次点击:系统管理 -> 节点管理 -> 新建节点
新建节点.png

点击确定按钮,然后配置Jenkins在Linux中的路径、LInux服务器的IP地址、Linux服务器的账号和密码
点击确定按钮.png

启动从节点验证Linux服务器已经成功注册到Jenkins上
点击我们刚添加的节点,然后点击启动代理按钮,连接Linux服务器
8.png

如果连接服务器时出现如下错误信息
9.png

就将Host Key Verrification Strategy配置成Non Verfifying Verrification Strategy

10.png

新建Job验证Jenkins任务可以远程运行在Linux服务器上

在Jenkins主页点击【开始创建一个新任务】按钮,然后输入任务名,选择构建一个maven项目,注意:只有安装了Maven Integration插件才有这个选项
11.png

点击【确定】按钮
12.png

13.png

14.png

15.png

shell脚本的内容,根据项目的实际需求编写

#!/bin/sh

echo "开始执行shell脚本"

# 在jenkins环境中一定要加这句话,否则这个脚本进程最后会被杀死
export BUILD_ID=dontKillMe

# 指定最后编译好的jar的存放位置
JAR_PATH=/opt/workspace/appserver

# 如果路径不存在,就创建路径
[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH

# 指定jenkins中存放编译好的jar的位置
JENKINS_JAR_PATH=/home/wenbo/jenkins/workspace/testProject/target

# 如果路径不存在,就创建路径
[ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH

# 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关)
JENKINS_JAR_NAME=appserver-0.0.4.jar

# 获取该项目的进程号,用于重新部署项目前杀死进程
process_id=$(ps -ef | grep appserver | grep -v "grep" | awk '{print $2}')

# 如果该项目正在运行,就杀死项目进程
if [[ ! -z "$process_id" ]]
then 
	echo "停止服务"
    kill -9 $process_id
else 
	echo "服务未启动"
fi

# 进入Jenkins中编译好的jar的位置
cd ${JENKINS_JAR_PATH}

# 将Jenkins中编译好的jar复制到最终存放项目jar的位置
cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH

# 进入到存放项目jar的位置
cd ${JAR_PATH}

# 后台启动项目,并且将控制台日志输出到nohup.out中
nohup java -jar ${JENKINS_JAR_NAME} --server.port=9000 -Dfile.encoding=UTF-8 >nohup.out &

echo "shell脚本执行完毕"

然后点击【立即构建】按钮,构建项目,点击下面的#1就可以看到到项目的详情
16.png

可以在控制台输出中查看到控制台中打印出的内容,可以看到刚才在shell中输入的命令被执行了
17.png

至此,我们的spring boot项目就自动部署成功了。


作者:wenbo

评论

发表评论