Springboot+Jenkins+gitee实现代码提交自动打包部署

304 阅读2分钟

安装Java环境

Linux Java JDK安装

安装Maven环境

Linux Maven安装步骤

安装wget(有wget跳过)

yum -y install wget

安装gitee与配置webhook

Linux安装gitee

yum install git
  • 安装完成后打开gitee官网,选择对应仓库
  • 配置公钥 image.png
  • 获取公钥
#三次回车即可生成 ssh key
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
# 查看公钥
cat ~/.ssh/id_rsa.pub 
  • 复制出公钥并添加
  • 测试是否配置成功
ssh -T git@gitee.com

安装Jenkins

sudo wget -O /etc/yum.repos.d/jenkins.repo --no-check-certificate https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import  https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install epel-release
yum install jenkins

修改Jenkins配置

vim /etc/sysconfig/jenkins 
#JENKINS_USER和JENKINS_PORT修改为如下值 可自定义
JENKINS_USER="root"
JENKINS_PORT="8787"
  • 启动jenkins
systemctl start jenkins
  • 访问jenkins
http://ip:8787
  • 获取并输入admin账户密码
cat /var/lib/jenkins/secrets/initialAdminPassword
  • 不安装任何插件
  • 点击选择插件安装
  • 点击左上角 无
  • 设置账号密码

修改Jenkins插件下载地址

  • Jenkins->Manage Jenkins->Manage Plugins,点击Available image.png

image.png

  • 把Jenkins官方的插件列表下载到本地,接着修改地址文件,替换为国内插件地址
cd /var/lib/jenkins/updates
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
  • Jenkins->Manage Jenkins->Manage Plugins,点击Available image.png
  • 把Update Site改为国内插件下载地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

image.png

安装插件

  • 安装汉化版插件
  • Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"
  • 安装Maven项目相关插件
  • Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Maven Integration"
  • 安装git和gitee插件
  • Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"git"
  • Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"gitee"

image.png

  • 重启Jenkins后,Jenkins就汉化成功!(PS:但可能部分菜单汉化会失败)

Jenkins配置Maven和jdk

image.png

image.png

image.png

image.png

  • 添加Jenkins全局变量 image.png
  • 添加三个全局变量 JAVA_HOME、M2_HOME、PATH+EXTRA

image.png

image.png

  • 修改maven的settings.xml配置文件
  • 创建本地仓库目录
mkdir /opt/maven/repo vi /opt/maven/conf/settings.xml
// 配置仓库地址
<localRepository>/opt/maven/repo/</localRepository>

<!-- 配置阿里云镜像 -->
<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

Jenkins创建Maven项目实现自动打包

image.png

image.png

  • 填写git地址,git用户名密码 image.png

image.png

  • 填写项目gitee地址,选择配置的用户名密码 image.png

  • 勾选Gitee webhook,按需配置 image.png

  • 配置完成后生成Gitee webhook密码 image.png

配置webhook

URL与密码对应Gitee webhookURL与密码 image.png

image.png

image.png

  • 配置shell(不配置只能实现打包,不能实现自动部署)

xxx.jar 修改成自己的jar包名

#!/bin/sh
echo "----开始终止xxx.jar进程----"
ps aux | grep xxx.jar | grep -v grep | awk -F' ' {'print $2'} |xargs kill -9
echo "----终止进程完成----"
cd /var/lib/jenkins/workspace/demo/api/target
echo "----开始部署xxx.jar----"
BUILD_ID=dontKillMe
nohup java -jar xxx.jar > dg.log  2>&1 &
echo "----部署完成----"

image.png

  • 保存后可以去Gitee webhook点击测试,此时就可以实现自动打包部署

image.png

  • 首次部署因需要下载maven,部署时间可能会稍微久一会 image.png