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. 用户中填写钉钉中手机号,可在机器人发送消息时@对应人
相关推荐
皮皮林5517 小时前
SpringBoot 加载外部 Jar,实现功能按需扩展!
java·spring boot
hujun861010 小时前
Ubuntu安装无线网卡
linux
Johny_Zhao10 小时前
CentOS Stream 8 高可用 Kuboard 部署方案
linux·网络·python·网络安全·docker·信息安全·kubernetes·云计算·shell·yum源·系统运维·kuboard
考虑考虑10 小时前
feign异常处理
spring boot·后端·spring
卖猪肉的痴汉12 小时前
1.1 Linux 编译FFmpeg 4.4.1
linux·ffmpeg
十五年专注C++开发12 小时前
Qt .pro配置gcc相关命令(三):-W1、-L、-rpath和-rpath-link
linux·运维·c++·qt·cmake·跨平台编译
qq_6285157612 小时前
Centos与RockLinux设置静态ip
linux·运维·centos
gorgor在码农13 小时前
Spring Boot多数据源切换:三种实现方式详解与实战
java·spring boot·后端·mybatis·mybatis plus·多数据源切换
程序猿小D13 小时前
第27节 Node.js Buffer
linux·开发语言·vscode·node.js·c#·编辑器·vim
言一木13 小时前
【springboot组件开发】三方中间件自定义自动装载(rabbitmq/rocketmq/cmq)
spring boot·java-rocketmq·java-rabbitmq·中组件开发