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

在当今快速发展的软件开发领域,持续集成和持续部署(CI/CD)已经成为提升开发效率、缩短产品上市时间的关键实践。Linux系统以其稳定性和开源友好性,成为众多开发者和企业的首选平台。而Spring Boot,作为一个轻量级的Java应用框架,因其简化的配置和快速的开发周期,受到了广泛的欢迎。
在本篇博客中,我们将深入探讨如何在Linux环境下,利用Jenkins这一强大的自动化服务器,来部署和管理基于Spring Boot的项目。无论您是初学者还是有经验的开发者,本教程都将为您提供一份详尽的指南,从基础的环境搭建到高级的部署策略,确保您能够顺利地将项目从开发环境迁移到生产环境。
我们将逐步介绍Java和Maven的安装,Git的配置以及数据库MySQL和Redis的设置。随后,我们会详细讲解Jenkins的安装和配置,包括插件的选择和用户角色的管理。更重要的是,我们将指导您如何与国内流行的代码托管平台码云进行集成,以及如何通过钉钉实现实时的通知和反馈。
通过本教程,您将掌握一套完整的工具链,帮助您实现自动化测试、构建和部署,从而提高软件质量和开发效率。让我们一起开始这段提升技能的旅程,探索Linux、Jenkins和Spring Boot带来的无限可能。

文章目录

  • 环境部署
    • java安装
    • maven安装
    • git安装
  • 软件安装
    • MySQL安装
      • 其他
        • 修改yum国内源
        • 修改mysql默认数据目录
    • Redis安装
  • Jenkins安装
    • Jenkins安装
    • Jenkins配置
      • 启动Jenkins及查看状态
    • 插件安装
    • 用户创建
    • 角色创建
    • 码云配置
    • 项目创建
    • 钉钉配置

环境部署

java安装

  1. 查看是否已经安装java环境
rpm -qa|grep java
  1. 如果已经安装可以卸载
rpm -e --nodeps java*
  1. 查看yum中java版本
yum search jdk

查看支持java版本

  1. 发现有java11,列出java11
 yum list |grep java-11

列出jdk11

  1. 安装java11
yum install -y java-11-openjdk.x86_64
  1. 完成安装,验证
java -version

验证java安装成功

maven安装

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

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

tar -zxvf apache-maven-3.8.1-bin.tar.gz

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

  1. 创建资源目录
mkdir -p /m2/repository
  1. 添加阿里镜像云
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.添加环境变量

vi /etc/profile

文件最后增加下边代码

MAVEN_HOME=/usr/local/maven/apache-maven-3.8.1
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH

maven环境变量
保存之后,重新加载配置文件

source /ert/profile

测试是否生效

mvn -version

测试maven环境变量

git安装

  1. 安装git
yum install git
  1. 检查是否安装成功
git --version

安装成功之后如图:
检查git是否安装成功

软件安装

MySQL安装

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

其他

修改yum国内源

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

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

之后刷新

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

修改mysql数据目录
新建目录

mkdir -p /home/mysql

为目录赋值

chown -R mysql.mysql /home/mysql

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

setenforce 0

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

Redis安装

  1. 下载fedora的epel仓库
yum install epel-release
  1. 安装redis
yum install redis
  1. redis命令
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
rpm -ivh jenkins-2.440.2-1.1.noarch.rpm

安装Jenkins

Jenkins配置

配置文件目录

/usr/lib/systemd/system/jenkins.service
  1. 用户修改
    修改Jenkins用户

  2. 工作目录
    Jenkins工作目录

  3. 端口
    Jenkins端口

启动Jenkins及查看状态

service jenkins restart && systemctl status jenkins

启动Jenkins
访问ip:端口号
启动成功
查看密码登录之后暂时不安装插件,之后自定义安装。在下图中选择“无”。
不安装插件

插件安装

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

用户创建

用户创建

角色创建

  1. 安全策略修改
    安全策略修改为:role-based strategy
    修改安全策略
  2. 新建角色
    在“安全”-“Manage and Assign Roles”中创建
    在这里插入图片描述
  3. 角色配置
    角色配置

码云配置

  1. 全局配置
    gitee全局配置
  2. 源码管理
    在新建maven之后,需要配置gitee源码管理。
    源码管理
    选择“git”,填写gitee地址、用户名密码、分支、触发器选择gitee、生成webhook密码、配置gitee的webhook、pom文件(Jenkins的workspace目录)、打包设置(clean package -Dmaven.test.skip=true -Pdev,-P配置文件)、构建脚本

项目创建

  1. 创建视图
    Jenkins创建视图
  2. 创建一个maven任务
    创建一个maven任务
    在这里插入图片描述

钉钉配置

系统设置-钉钉配置。

  1. 配置通知时机;
  2. 配置webhook地址及加密;
  3. 用户中填写钉钉中手机号,可在机器人发送消息时@对应人

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/586448.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序组织单元POU介绍(CODESYS)

CODESYS任务配置详细介绍请参考下面文章链接&#xff1a; 1、任务配置 CODESYS任务配置介绍-CSDN博客文章浏览阅读32次。看门狗是一种控制器硬件式的计时设备&#xff0c;看门狗的主要功能是监控程序执行时出现的异常或内部时钟发生的故障。当程序进入死循环时&#xff0c;看…

【THM】Burp Suite:Other Modules(其他模块)-初级渗透测试

介绍 除了广泛认可的Repeater和Intruder房间之外,Burp Suite 还包含几个鲜为人知的模块。这些将成为这个房间探索的重点。 重点将放在解码器、比较器、排序器和组织器工具上。它们促进了编码文本的操作,支持数据集的比较,允许分析捕获的令牌内的随机性,并帮助您存储和注释…

ObjectiveC-03-XCode的使用和基础数据类型

本节做为Objective-C的入门课程&#xff0c;笔者会从零基础开始介绍这种程序设计语言的各个方面。 术语 ObjeC&#xff1a;Objective-C的简称&#xff0c;因为完整的名称过长&#xff0c;后续会经缩写来代替&#xff1b;项目/工程&#xff1a;也称工程&#xff0c;指的是一个A…

Google DeepMind 大语言模型中的长形态事实性

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 论文标题&#xff1a;Long-form factuality in large language models 论文链接&#xff1a;https://arxiv.org/abs/2403.18802 论文的关键信息总结如下&#xff1a; 研究问题是什么&#xff1f;论文…

恶劣条件下GNSS定位的鲁棒统计

全球导航卫星系统&#xff08;GNSS&#xff09;作为定位信息的主要来源&#xff0c;在智慧工厂、智慧能源、智慧交通的未来应用中发挥着重要作用。此外&#xff0c;GNSS为电网或股市等关键应用提供定时同步功能。然而&#xff0c;GNSS的性能很容易因自然现象和信号反射而降低。…

【数据结构】线性表

文章目录 前言线性表的定义和基本操作1.线性表的定义2.线性表的基本操作 顺序表的定义1.静态分配方式2.动态分配方式 顺序表的插入和删除1.顺序表的插入2.顺序表的删除 顺序表的查找1.按位查找&#xff08;简单&#xff09;2.按值查找 单链表的定义1.代码定义一个单链表2.不带头…

警惕.360勒索病毒:如何预防.360勒索病毒攻击

导言&#xff1a; 在网络安全领域&#xff0c;勒索病毒是一种非常危险的恶意软件&#xff0c;它以其独特的加密方式和高昂的赎金要求&#xff0c;给个人和企业带来了严重的损失。.360勒索病毒便是其中之一&#xff0c;它属于BeijingCrypt勒索病毒家族&#xff0c;具有高度的隐…

Spring Data JPA日志打印SQL语句和入参真就这么简单吗?

1 乞丐版配置 spring:aop:proxy-target-class: truejpa:hibernate:ddl-auto: updateshow-sql: truelogging:level:root: infoorg.hibernate.SQL: debugorg.hibernate.engine.QueryParameters: debugorg.hibernate.engine.query.HQLQueryPlan: debugorg.hibernate.type.descrip…

Linux部署Kafka2.8.1

安装Jdk 首先确保你的机器上安装了Jdk&#xff0c;Kafka需要Java运行环境&#xff0c;低版本的Kafka还需要Zookeeper&#xff0c;我此次要安装的Kafka版本为2.8.1&#xff0c;已经内置了一个Zookeeper环境&#xff0c;所以我们可以不部署Zookeeper直接使用。 1、解压Jdk包 t…

基于单片机30mv和300v量程的电压表仿真设计

**单片机设计介绍&#xff0c;基于单片机30mv和300v量程的电压表仿真设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机30mV和300V量程的电压表仿真设计&#xff0c;是一个旨在通过单片机实现宽量程电压测量和显示的综合性项目…

Golang 内存管理和垃圾回收底层原理(二)

一、这篇文章我们来聊聊Golang内存管理和垃圾回收&#xff0c;主要注重基本底层原理讲解&#xff0c;进一步实战待后续文章 垃圾回收&#xff0c;无论是Java 还是 Golang&#xff0c;基本的逻辑都是基于 标记-清理 的&#xff0c; 标记是指标记可能需要回收的对象&#xff0c…

深入探讨六西格玛培训的多维度价值

在当今的世界中&#xff0c;企业的竞争就是质量的竞争&#xff0c;谁拥有更高的质量&#xff0c;谁就能占领市场。但是&#xff0c;随着产品质量问题的日益突出&#xff0c;越来越多的企业认识到质量管理是一项复杂而艰巨的系统工程。企业在引入六西格玛管理时&#xff0c;往往…