Jenkins结合Gitee(码云)自动化部署Springboot项目(比较详细)

一.准备工作(有的话,可以忽略)

1. 安装wget

如果需要通过使用wget命令,直接通过网络下载maven安装包时,需要在linux系统中安装wget命令。

yum -y install wget
2. 安装jdk
cd/usr/local
jdk-8u121-linux-x64.tar.gz #准备好的jdk包
tar -zxvf jdk-8u121-linux-x64.tar.gz
vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
source /etc/profile  #让文件立即生效
java -version  #查看配置是否成功
3. 安装maven
cd/usr/local
wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.6.1-bin.tar.gz
tar -zxvf apache-maven-3.6.1-bin.tar.gz
vim /etc/profile
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile  #让文件立即生效
mvn –v   #查看是否配置成功
4. 安装git
yum -y install git

二.开始部署 (jenkins的安装与使用)

1.安装jenkins
# yum源
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 公钥
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# 安装
yum install jenkins

:用yum源如若报错出现
ERROR: cannot verify pkg.jenkins.io’s certificate, issued by ‘/C=US/O=Let’s Encrypt/CN=R3’:Issued certificate has expired. 时可用以下命令

sudo yum install -y ca-certificates

2.更改系统文件
vi /etc/sysconfig/jenkins
JENKINS_USER="root" # 改成需要的用户名,默认为jenkins,这里改成root
JENKINS_PORT="8080" # 端口改成需要的端口,默认8080
cd /var/lib
chown -R root:root jenkins
systemctl restart jenkins # 重启jenkins服务
3.浏览器访问ip:8080得到登录界面,根据提示进入文件夹,查看密钥,完成后,需要插件安装,选择推荐插件安装。并创建你的Jenkins用户
cat /var/lib/jenkins/secrets/initialAdminPassword

在这里插入图片描述

4.进入jenkins界面

在这里插入图片描述

4.1下载所需插件 (系统管理->插件管理->可选插件)

新增下面三个插件

Gitee
Maven Integration
Pipeline Maven Integration

在这里插入图片描述

4.2全局配置(系统管理->全局工具配置)

JDK
在这里插入图片描述

Git
在这里插入图片描述

5.正式构建任务(回到主页面,新建任务)
5.1)构建一个自由风格的软件项目

在这里插入图片描述

5.2)General参数配置:

创建三个文本(英文为This project is parameterized选项),参数分别为jarPath(jar包的位置)projectName(项目的名称)jarName(jar包的名称)

在这里插入图片描述

5.3) 源码管理:

源码的url为码云代码仓库的HTTP链接,Credentials为代码仓库的人员码云的账号和密码

在这里插入图片描述

5.4) 配置webhook

注: 通过Gitee的webhook实现推送时部署,码云的仓库需要有(管理员)权限

在这里插入图片描述

根据上图的信息,配置webHook,使项目码云的仓库与jenkins关联

在这里插入图片描述

请求为200,即为连接成功

在这里插入图片描述

5.5)构建自动化脚本(执行shell):

将启动的shell脚本和停止的shell脚本,写到服务器的文件夹中

cd /root
mkdir shell
cd shell/   #写到/root/shell下
vi start.sh   #将下面启动的shell脚本黏贴到vim中
:wq           #保存,并退出
vi stop.sh    #将下面停止的shell脚本黏贴到vim中
:wq           #保存,并退出

点击增加构建步骤,选择执行shell,再将构建的脚本写到jenkins的构建环境中。
在这里插入图片描述

配置完成后,就可以开始构建了

在这里插入图片描述

出现下面表示构建成功!,在码云的此仓库中,一旦有人push,就会自动化部署项目

在这里插入图片描述

三.需要的脚本

构建的shell脚本:

#!/bin/bash -il
mvn clean install -Dmaven.test.skip=true    
echo $jarPath $jarName
cd /root/shell/
./stop.sh $jarName
echo "Execute shell Finish"
./start.sh $jarPath $jarName $projectName

启动的脚本:

jarPath=${1}
jarName=${2}
projectName=${3}
cd ${jarPath}/${projectName}/target/
echo ${jarPath}/${projectName}/target/
echo nohup java -jar ${jarName} &
BUILD_ID=dontKillMe nohup java -jar ${jarName} > /root/workspace/boot.log &

停止的脚本:

jarName=${1}
echo "Stopping" ${jarName}
pid=`ps -ef | grep ${jarName} | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

四.总结:

逻辑:利用webhook使码云和jenkins工具连接,每次更新项目推送到码云仓库时,jenkins会进行捕捉,捕捉到,就会按照编写好的shell脚本进行自动化部署。

一些操作中可能用到的linux命令

1. 停止服务并yum卸载
service jenkins stop
yum clean all
yum -y remove jenkins

2. rpm卸载
rpm -e jenkins

3. 检查是否卸载成功
rpm -ql jenkins 

4. 彻底删除残留文件:
find / -iname jenkins | xargs -n 1000 rm -rf
# find命令用来查找“/”下名称符合jenkins的文件
# -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
# xargs 命令 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
#  -n 选项 每次传递几个参数给其后面的命令执行
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值