jenkins+springboot+github+maven自动化部署

Posted java小白逆袭之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins+springboot+github+maven自动化部署相关的知识,希望对你有一定的参考价值。



你真的很特别

一.安装并配置Git

1. 安装git

在linux服务器上安装git:

yum install git

查看git是否安装成功:

git version

能够显示版本号即说明安装成功:

jenkins+springboot+github+maven自动化部署

设置git用户名和邮箱:

git config --global user.name "username"
git config --global user.email "username@qq.com"

生成授权证书,中间过程直接全部回车:

ssh-keygen -t rsa -C "username@qq.com"

查看.ssh文件夹下是否成功生成证书(id_rsa是私钥,id_rsa.pub是公钥):

jenkins+springboot+github+maven自动化部署

2. git证书配置

打开 https://github.com/settings/keys,进入SSH keys配置:

jenkins+springboot+github+maven自动化部署

将公钥中的内容复制到公钥文本框中并保存:

jenkins+springboot+github+maven自动化部署

输入以下命令,验证git的配置是否正确:

ssh git@github.com

提示以下信息即说明配置正确:

jenkins+springboot+github+maven自动化部署

二. 安装并配置maven

下载 maven 压缩包:

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip

解压缩:

unzip apache-maven-3.6.0-bin.zip

编辑 profile 文件:

vi /etc/profile

在文件末尾添加环境变量:

export MAVEN_HOME=你的maven路径
export PATH=${MAVEN_HOME}/bin:$PATH

使环境变量立即生效:

source /etc/profile

查看是否安装成功:

mvn -version

显示如下:

jenkins+springboot+github+maven自动化部署

三. 将Linux注册到Jenkins

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

jenkins+springboot+github+maven自动化部署
节点的详细配置:

jenkins+springboot+github+maven自动化部署
其中的服务器用户名和密码配置要选择 Username with password:

jenkins+springboot+github+maven自动化部署
还需要配置git的安装路径,可以通过which git命令来查询:
jenkins+springboot+github+maven自动化部署
保存配置后,运行该节点,点击启动代理按钮,连接Linux服务器。

四. 新建Jenkins任务

输入任务名称,构建maven项目:

jenkins+springboot+github+maven自动化部署

配置限制项目的运行节点为当前节点:

jenkins+springboot+github+maven自动化部署

配置项目路径,私有项目需要配置用户名和密码:

jenkins+springboot+github+maven自动化部署
配置maven打包命令:clean package -Dmaven.test.skip=true

jenkins+springboot+github+maven自动化部署
Post Steps 选择第一个选项,编写构建脚本:

jenkins+springboot+github+maven自动化部署
脚本内容如下:

#!/bin/sh

echo "开始执行shell脚本"

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

# 指定最后编译好的jar的存放位置
JAR_PATH=你的路径

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

# 指定jenkins中存放编译好的jar的位置
JENKINS_JAR_PATH=jar的位置

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

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

# 获取该项目的进程号,用于重新部署项目前杀死进程
process_id=$(ps -ef | grep apis | 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}

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

echo "shell脚本执行完毕"

点击保存,再修改全局配置。

五. 修改全局配置

配置maven的settings文件设置和 jdk 的路径:

jenkins+springboot+github+maven自动化部署
配置 maven 的安装路径:

jenkins+springboot+github+maven自动化部署
保存全局配置后,选择立即构建:

jenkins+springboot+github+maven自动化部署
查看控制台,第一次构建会慢一点,因为要下载大量的 jar 包,构建成功日志如下:

jenkins+springboot+github+maven自动化部署
打开服务器,通过netstat -anp|grep 端口号来获取 PID, 之后查询当前进程开始运行的时间,查看服务是否成功启动:

ps -p PID -o lstart

发现确实是jenkins刚刚构建完成启动的时间就说明一切ok了:

jenkins+springboot+github+maven自动化部署


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:

https://blog.csdn.net/j1231230/article/details/109777619

jenkins+springboot+github+maven自动化部署

粉丝特别福利

最新整理了2000G的java从入门到大神所需干货;

涵盖java初级,中级,高级,架构课程

涵盖j2ee项目20个++;

涵盖springcloud项目课程6个++

涵盖初级到BAT笔试面试题;

涵盖简历模版,项目素材

获取方式:扫描下方二维码,在台打开回复 【福利即可领取,资料持续更新!


获取2000Gjava从菜鸡到大神资料

(回复  福利  获取)

感谢点赞支持下哈 

以上是关于jenkins+springboot+github+maven自动化部署的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins自动部署springboot项目

五. jenkins部署springboot项目--服务

SpringBoot+Git+Jenkins+Docker实现CI/CD

基于k8sdockerjenkins构建springboot服务

docker 运行jenkins及vue项目与springboot项目(五.jenkins打包springboot服务且在docker中运行)

springboot手动打包和jenkins打包效果不一样