Linux利用Jenkins部署SpringBoot项目保姆级教程

在当今快速发展的软件开发领域,持续集成和持续部署(CI/CD)已经成为提升开发效率、缩短产品上市时间的关键实践。Linux系统以其稳定性和开源友好性,成为众多开发者和企业的首选平台。而Spring Boot,作为一个轻量级的Java应用框架,因其简化的配置和快速的开发周期,受到了广泛的欢迎。

在本篇博客中,我们将深入探讨如何在Linux环境下,利用Jenkins这一强大的自动化服务器,来部署和管理基于Spring Boot的项目。无论您是初学者还是有经验的开发者,本教程都将为您提供一份详尽的指南,从基础的环境搭建到高级的部署策略,确保您能够顺利地将项目从开发环境迁移到生产环境。

我们将逐步介绍Java和Maven的安装,Git的配置以及数据库MySQL和Redis的设置。随后,我们会详细讲解Jenkins的安装和配置,包括插件的选择和用户角色的管理。更重要的是,我们将指导您如何与国内流行的代码托管平台码云进行集成,以及如何通过钉钉实现实时的通知和反馈。

通过本教程,您将掌握一套完整的工具链,帮助您实现自动化测试、构建和部署,从而提高软件质量和开发效率。让我们一起开始这段提升技能的旅程,探索Linux、Jenkins和Spring Boot带来的无限可能。

文章目录

环境部署

java安装

  1. 查看是否已经安装java环境
java 复制代码
rpm -qa|grep java
  1. 如果已经安装可以卸载
java 复制代码
rpm -e --nodeps java*
  1. 查看yum中java版本
java 复制代码
yum search jdk
  1. 发现有java11,列出java11
java 复制代码
 yum list |grep java-11
  1. 安装java11
java 复制代码
yum install -y java-11-openjdk.x86_64
  1. 完成安装,验证
java 复制代码
java -version

maven安装

  1. 下载maven
    下载地址:maven官网,(历史版本下载
  2. 安装maven
java 复制代码
mkdir -p /usr/local/maven

将安装文件上传到Linux,之后解压到安装目录

java 复制代码
tar -zxvf apache-maven-3.8.1-bin.tar.gz

现在maven已经安装完成,接下来开始配置maven

  1. 创建资源目录
java 复制代码
mkdir -p /m2/repository
  1. 添加阿里镜像云
java 复制代码
cd /usr/local/maven/apache-maven-3.8.1/conf
vi settings.xml
复制代码
<mirror>
	  <id>aliyunmaven</id>
	  <mirrorOf>*</mirrorOf>
	  <name>阿里云公共仓库</name>
	  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

将上述地址更换到下图位置

5.添加本地资源路径

6.添加环境变量

java 复制代码
vi /etc/profile

文件最后增加下边代码

复制代码
MAVEN_HOME=/usr/local/maven/apache-maven-3.8.1
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH

保存之后,重新加载配置文件

java 复制代码
source /ert/profile

测试是否生效

java 复制代码
mvn -version

git安装

  1. 安装git
java 复制代码
yum install git
  1. 检查是否安装成功
java 复制代码
git --version

安装成功之后如图:

软件安装

MySQL安装

见文章《CentOS7安装MySQL8》,如果官方地址下载速度太慢,可选择国内镜像下载。

其他

修改yum国内源

由于mysql默认安装地址为国外地址,有时候网络环境会非常慢,可以将yum源修改为国内环境。

修改为阿里源:

java 复制代码
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

之后刷新

java 复制代码
yum clean all // 清理缓存
yum -y update // 更新
yum makecache // 重新建立缓存
修改mysql默认数据目录
java 复制代码
vi /etc/my.cnf

新建目录

java 复制代码
mkdir -p /home/mysql

为目录赋值

java 复制代码
chown -R mysql.mysql /home/mysql

若之后还报错,则需要关闭Selinux

java 复制代码
setenforce 0

关于SeLinux,可参考《mysql8 为什么 要 setenforce 0》

Redis安装

  1. 下载fedora的epel仓库
java 复制代码
yum install epel-release
  1. 安装redis
java 复制代码
yum install redis
  1. redis命令
java 复制代码
service redis start	//	启动
service redis stop	//	停止
service redis status	//	查看状态
chkconfig redis on	//	开机启动
redis-cli	//	本机登录
key *	//	列出所有keg
get [keyName]	//	查看key值

Jenkins安装

Jenkins安装

  1. 根据自己条件挑选合适的版本进行安装,具体版本和java版本对应关系可点击查看。这里以2.440版本为例说明。从镜像网站下载适合自己系统的镜像,此教程为Centos7为例。
  2. 上传到服务器之后,安装Jenkins
java 复制代码
rpm -ivh jenkins-2.440.2-1.1.noarch.rpm

Jenkins配置

配置文件目录

复制代码
/usr/lib/systemd/system/jenkins.service
  1. 用户修改

  2. 工作目录

  3. 端口

启动Jenkins及查看状态

java 复制代码
service jenkins restart && systemctl status jenkins

访问ip:端口号

查看密码登录之后暂时不安装插件,之后自定义安装。在下图中选择"无"。

插件安装

  1. 如下图所属位置,选择插件进行安装
  2. 推荐插件安装
    1. 汉化插件
    2. 权限插件:Role-based
    3. gitee
    4. 钉钉推送:DingTalk
    5. maven:

用户创建

角色创建

  1. 安全策略修改
    安全策略修改为:role-based strategy
  2. 新建角色
    在"安全"-"Manage and Assign Roles"中创建
  3. 角色配置

码云配置

  1. 全局配置
  2. 源码管理
    在新建maven之后,需要配置gitee源码管理。

    选择"git",填写gitee地址、用户名密码、分支、触发器选择gitee、生成webhook密码、配置gitee的webhook、pom文件(Jenkins的workspace目录)、打包设置(clean package -Dmaven.test.skip=true -Pdev,-P配置文件)、构建脚本

项目创建

  1. 创建视图
  2. 创建一个maven任务

钉钉配置

系统设置-钉钉配置。

  1. 配置通知时机;
  2. 配置webhook地址及加密;
  3. 用户中填写钉钉中手机号,可在机器人发送消息时@对应人
相关推荐
wdxylb3 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20074 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
在努力的前端小白4 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
路溪非溪4 小时前
关于Linux内核中头文件问题相关总结
linux
Lovyk7 小时前
Linux 正则表达式
linux·运维
Fireworkitte8 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9008 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char8 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
淮北也生橘1210 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
白仑色12 小时前
Spring Boot 全局异常处理
java·spring boot·后端·全局异常处理·统一返回格式