Jenkins结合Gitee(码云)自动化部署Springboot项目(比较详细)
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项目(比较详细)相关推荐
- (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)
前提:jenkins安装 参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 1插件下载 主要是检查如下插件是否 ...
- (三)jenkins+bonobo git server+windows系统自动化部署springboot项目(远程windows自动化部署)
前提 jenkins安装,参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 自动化部署,参考:(二)jenki ...
- 又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式
又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式 部署思路: 具体步骤: 1.打成jar 2.上传到服务器 3.启动JDK容器 4.进入JDK 容器 启动 项 ...
- 13.云服务器部署springboot项目
标题: 云服务器实战模拟网站被DDOS攻击?到底应该如何防御? 课程内容:1.云服务器部署项目 被人攻击了怎么办?2.DNS是如何解析域名的?3.一级.二级.三级域名区别4.什么是DNS轮询策略?如何 ...
- 云服务器部署springboot项目
相关概念 物理机器 -----项目 1万 专线(公网的ip---固定ip) 100兆 3万 家用带宽与专线区别? 家用带宽 电信 2000/年 1000兆 上行/下行 不对等 下载1000兆 上 ...
- 利用Jenkins自动化部署springboot项目到阿里云服务器(centos8)
背景: 最近想部署一个springboot项目到阿里云服务器里面.捣鼓了很久,构建了很多次,都失败了!实在是一脸辛酸,有点气馁~ 在此想记录一下构建的过程. 不了解Jenkins之前,觉得Jenkin ...
- Centos7云服务器部署SpringBoot项目(手动配置环境篇)
文章目录 前言 一.部署Tomcat服务器 1.安装JDK1.8 2.安装与启动tomcat 配置安全组(8080端口) 二.安装JDK8 三.Mysql5.7安装 1.下载mysql 2.启动MyS ...
- (阿里云)Linux部署springboot项目全过程
Linux-jdk1.8下载地址 点击下载 jdk1.8-linux 提取码:h40h 一.安装jdk 1.1.将安装包上传至Linux服务器 1.2.创建安装文件夹 创建install mkdir ...
- 花30分钟,用Jenkins部署码云上的SpringBoot项目
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多来源:ju ...
最新文章
- php中的__autoload()函数
- 产品优化成果过关?监控数据说了算
- “噪声对比估计”杂谈:曲径通幽之妙
- Bigtable 论文翻译
- 在项目中缓存是如何使用的?
- 《计算机组成原理》_学习笔记(二)
- 【算法】剑指 Offer 31. 栈的压入、弹出序列 【重刷】
- html form中多个div,在react里最多只能有几个div
- 如何使用FireBug插件查询元素的xPath属性
- 关于fftshift引发的问题与思考
- python按综合、销量排序抓取100页的淘宝商品列表信息
- 大白菜u盘系统linux系统,大白菜超级u盘启动盘制作工具win7用U盘在Mac OS X中安装Windows7系统...
- 解决ubuntu20.04火狐浏览器不能播放视频
- Slave I/O for channel ‘‘: error connecting to master ‘rep@master1:3306‘ - retry-time: 60 retries: 6
- QT下载速度慢的解决方法
- 如何查看Outlook搜索出的邮件所在的文件夹
- 『煮酒论史』 [近代风云]外东北、藏南、南沙:如何看待失去的领土
- Redis常见面试题你都掌握了没
- BLE低功耗蓝牙组网流程及蓝牙角色介绍
- Eclipse switch workspace 时好多多余workspace