Jenkins结合码云自动化部署Springboot项目

  • 一.准备工作(有的话,可以忽略)
    • 1. 安装wget
    • 2. 安装jdk
    • 3. 安装maven
    • 4. 安装git
  • 二.开始部署 (jenkins的安装与使用)
      • 1.安装jenkins
      • 2.更改系统文件
      • 3.浏览器访问==ip:8080==得到登录界面,根据提示进入文件夹,查看密钥,完成后,需要插件安装,选择推荐插件安装。并创建你的Jenkins用户
      • 4.进入jenkins界面
        • 4.1下载所需插件 (系统管理->插件管理->可选插件)
        • 4.2全局配置(系统管理->全局工具配置)
      • 5.正式构建任务(回到主页面,新建任务)
        • 5.1)构建一个自由风格的软件项目
        • 5.2)General参数配置:
        • 5.3) 源码管理:
        • 5.4) 配置webhook
        • 5.5)构建自动化脚本(执行shell):
    • 三.需要的脚本
    • 四.总结:
        • 逻辑:利用webhook使码云和jenkins工具连接,每次更新项目推送到码云仓库时,jenkins会进行捕捉,捕捉到,就会按照编写好的shell脚本进行自动化部署。
      • 一些操作中可能用到的linux命令

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

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" ]
thenecho "kill -9 的pid:" $pidkill -9 $pid
fi

四.总结:

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

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

1. 停止服务并yum卸载
service jenkins stop
yum clean all
yum -y remove jenkins2. rpm卸载
rpm -e jenkins3. 检查是否卸载成功
rpm -ql jenkins 4. 彻底删除残留文件:
find / -iname jenkins | xargs -n 1000 rm -rf
# find命令用来查找“/”下名称符合jenkins的文件
# -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
# xargs 命令 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
#  -n 选项 每次传递几个参数给其后面的命令执行

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

  1. (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)

    前提:jenkins安装 参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 1插件下载 主要是检查如下插件是否 ...

  2. (三)jenkins+bonobo git server+windows系统自动化部署springboot项目(远程windows自动化部署)

    前提 jenkins安装,参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 自动化部署,参考:(二)jenki ...

  3. 又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式

    又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式 部署思路: 具体步骤: 1.打成jar 2.上传到服务器 3.启动JDK容器 4.进入JDK 容器 启动 项 ...

  4. 13.云服务器部署springboot项目

    标题: 云服务器实战模拟网站被DDOS攻击?到底应该如何防御? 课程内容:1.云服务器部署项目 被人攻击了怎么办?2.DNS是如何解析域名的?3.一级.二级.三级域名区别4.什么是DNS轮询策略?如何 ...

  5. 云服务器部署springboot项目

    相关概念 物理机器 -----项目 1万  专线(公网的ip---固定ip) 100兆 3万 家用带宽与专线区别? 家用带宽 电信 2000/年 1000兆  上行/下行 不对等  下载1000兆 上 ...

  6. 利用Jenkins自动化部署springboot项目到阿里云服务器(centos8)

    背景: 最近想部署一个springboot项目到阿里云服务器里面.捣鼓了很久,构建了很多次,都失败了!实在是一脸辛酸,有点气馁~ 在此想记录一下构建的过程. 不了解Jenkins之前,觉得Jenkin ...

  7. Centos7云服务器部署SpringBoot项目(手动配置环境篇)

    文章目录 前言 一.部署Tomcat服务器 1.安装JDK1.8 2.安装与启动tomcat 配置安全组(8080端口) 二.安装JDK8 三.Mysql5.7安装 1.下载mysql 2.启动MyS ...

  8. (阿里云)Linux部署springboot项目全过程

    Linux-jdk1.8下载地址 点击下载 jdk1.8-linux 提取码:h40h 一.安装jdk 1.1.将安装包上传至Linux服务器 1.2.创建安装文件夹 创建install mkdir ...

  9. 花30分钟,用Jenkins部署码云上的SpringBoot项目

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多来源:ju ...

最新文章

  1. php中的__autoload()函数
  2. 产品优化成果过关?监控数据说了算
  3. “噪声对比估计”杂谈:曲径通幽之妙
  4. Bigtable 论文翻译
  5. 在项目中缓存是如何使用的?
  6. 《计算机组成原理》_学习笔记(二)
  7. 【算法】剑指 Offer 31. 栈的压入、弹出序列 【重刷】
  8. html form中多个div,在react里最多只能有几个div
  9. 如何使用FireBug插件查询元素的xPath属性
  10. 关于fftshift引发的问题与思考
  11. python按综合、销量排序抓取100页的淘宝商品列表信息
  12. 大白菜u盘系统linux系统,大白菜超级u盘启动盘制作工具win7用U盘在Mac OS X中安装Windows7系统...
  13. 解决ubuntu20.04火狐浏览器不能播放视频
  14. Slave I/O for channel ‘‘: error connecting to master ‘rep@master1:3306‘ - retry-time: 60 retries: 6
  15. QT下载速度慢的解决方法
  16. 如何查看Outlook搜索出的邮件所在的文件夹
  17. 『煮酒论史』 [近代风云]外东北、藏南、南沙:如何看待失去的领土
  18. Redis常见面试题你都掌握了没
  19. BLE低功耗蓝牙组网流程及蓝牙角色介绍
  20. Eclipse switch workspace 时好多多余workspace

热门文章

  1. 同花顺python_这是真的么 | 学会了用Python预测股票价格
  2. js下拉列表添加监听事件(支持所有主流浏览器)
  3. Cast-Designer 助力蔚来汽车,共同打造更美好未来
  4. python根据显著性水平计算正态分布分位点
  5. 设计一个事务增强的动态代理类, 对持久层的用户的CRUD操作进行事务增强 即:
  6. 网络视频会议 OpenMeetings 介绍 运行 开发
  7. 教你快速入门Excel-宏与VBA(下)
  8. 小程序稻草人图床神器,前后端开源
  9. Docker 服务无缝对接部署方案
  10. 华为无线设备配置动态负载均衡