自动化构建攻略:Jenkins + Gitee 实现 Spring Boot 项目自动化构建
Jenkins + Gitee 实现 Spring Boot 项目自动化构建
- 环境准备
- 安装配置jdk
- 安装配置maven
- 安装git
- 安装配置Jenkins
- 测试构建
- 测试自动化触发
环境准备
云服务器环境:
- 系统版本:Ubuntu 24.04 64位
- ecs规格:4核(vCPU)8 GiB
- 公网带宽:10Mbit/s
安全组入规则:
- 22-远程连接(可更换其他端口)
- 80-http服务
- 8080-Jenkins ui
- 50000-Jenkins 代理节点
项目所需工具:
- jdk(此处用 JDK 17 Amazon Corretto)
因为Jenkins 2.502 最低支持 JDK 17,如果用其他jdk版本,需要考虑和Jenkins的兼容性 - maven(此处用 Apache Maven 3.9.9)
- git
- Jenkins war包(此处用 Jenkins 2.502)
尝试通过docker拉取Jenkins:jenkins-lts,但是由于拉取到的版本过低,所以此处采用手动下载jenkins war包的方式-
Jenkins war包下载链接👇
访问Jenkins的官方下载页面 -
选择你需要的版本(例如,2.502)
-
点击“Generic Java package (.war)”链接下载WAR文件
-
将下载好的war包通过vscode或finalshell或winsc等工具传输到云服务器上
-
安装配置jdk
- 下载并安装 JDK
# 创建安装目录
sudo mkdir -p /usr/lib/jvm
# 下载 Amazon Corretto 17.0.14(官方下载链接示例)
wget https://corretto.aws/downloads/latest/amazon-corretto-17-x64-linux-jdk.tar.gz
# 解压到指定目录
sudo tar -C /usr/lib/jvm -zxf amazon-corretto-17-x64-linux-jdk.tar.gz
# 创建符号链接(方便后续版本升级)
sudo ln -s /usr/lib/jvm/amazon-corretto-17.0.14.7.1-linux-x64 /usr/lib/jvm/java-17-amazon-corretto
- 配置环境变量
# 编辑环境变量文件
sudo vim /etc/profile
# 按i进入输入模式
# 在文件末尾添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto
export PATH=$JAVA_HOME/bin:$PATH
# 按"esc",输入:wq 保存并退出
# 更新配置
source /etc/profile
- 验证jdk安装
java -version # 应显示 Amazon Corretto 17.0.14
javac -version # 应显示相同版本
安装配置maven
- 下载并安装 Maven
# 创建安装目录
sudo mkdir -p /opt/apache-maven
# 下载 Maven 3.9.9(官方下载链接示例)
wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
# 解压到指定目录
sudo tar -C /opt/apache-maven -zxf apache-maven-3.9.9-bin.tar.gz
# 创建符号链接
sudo ln -s /opt/apache-maven/apache-maven-3.9.9 /opt/apache-maven/latest
- 配置环境变量
# 编辑环境变量文件
sudo vim /etc/profile
# 按i进入输入模式
# 在文件末尾添加以下内容:
export MAVEN_HOME=/opt/apache-maven/latest
export PATH=$MAVEN_HOME/bin:$PATH
# 按"esc",输入:wq 保存并退出
# 更新配置
source /etc/profile
- 验证Maven安装
mvn -v # 应显示 Apache Maven 3.9.9 和 JDK 17
- 修改settings.xml
# 创建一个文件夹充当repository
mkdir /opt/apache-maven/latest/repository
# settings.xml内需要替换的部分
# 修改仓库地址
<localRepository>/opt/apache-maven/latest/repository</localRepository>
# 换个国内镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
# 其他根据项目需要更改
安装git
- 安装git
# 更新系统包
sudo apt update
# 安装 Git
sudo apt install -y git
- 验证git安装
git --version
安装配置Jenkins
- 创建jenkins_home文件夹
mkdir /var/jenkins_home
- 创建jenkins
export JENKINS_HOME=[jenkins配置信息存放目录] && java -jar jenkins [war包的路径]
# 例子👇
export JENKINS_HOME=/var/jenkins_home && java -jar /root/jenkins.war
启动成功示例👇
-
复制Jenkins初始密码并访问jenkins ui进行配置
复制这个初始密码👇
访问 http://IP:8080,完成安装向导👇
选择推荐安装的插件
如果有安装失败的,再重新安装一次
或者可以登录进去以后再根据需要安装特定的插件
设置账号密码和邮箱
根据界面提示设置账号信息进入Jenkins首页
安装gitee插件👇
点击"系统管理"-“插件”
选择"available plugins ",此处安装gitee插件
若之前安装插件失败,可以选择"updates",在此处更新一下
选择安装完重启Jenkins ui
设置构建超时时间👇
点击"系统管理"-“系统配置”
设置构建超时时间,避免第一次install依赖的时间太长导致超时失败
此处设置为60分钟
配置gitee插件👇
点击"系统管理"-“系统管理”
通过gitee插件来实现自动化构建,每次提交到gitee仓库就自动化进行一次构建
往下拉找到gitee
复制粘贴仓库地址(https的)
在gitee创建私人令牌
点击"生成令牌"
复制私人令牌后粘贴到jenkins配置处
保存好令牌,只能复制一次
点击"测试连接"
全部配置完点"应用"-“save”
配置Maven👇
打开"系统管理"-“全局工具配置”
选择刚刚修改的xml的路径
往下拉选择maven的安装路径
配置JDK👇
选择jdk的安装路径
配置Git👇
选择git的安装路径
全部配置好,应用并保存
测试构建
新建任务👇
选择创建一个自由风格的软件项目
选择本次构建任务需要的代码仓库地址👇
配置gitee连接,Jenkins 能够自动触发构建并将构建结果反馈到 Gitee
配置源码管理👇
配置源码管理后,Jenkins 能够从 Gitee 获取最新的代码
这里填写仓库的https的连接地址
凭据使用gitee账号名和密码
配置触发器
触发器这里选择Gitee webhook 触发构建(每次代码库更新时自动构建)
url信息复制一下,稍后用于新增gitee webhook
拉到下面,生成webhook的密码
gitee添加webhook👇
打开gitee上的仓库,点击"管理",选择左侧"WebHooks",点击"添加WebHook"
填写url和密码
勾选事件后保存
配置环境👇
配置构建步骤👇
选择之前配置的maven
配置完点应用并保存
构建任务👇
可以返回首页点绿色三角形图标构建,也可以在这一层选择"立即构建"
测试自动化触发
在idea提交代码成功后,来到jenkins ui,可以看到马上就自动触发了一个构建任务
需要确保本地idea能正常访问、提交代码到构建任务连接的gitee仓库