Linux安装Jenkins搭配Gitee自动化部署Springboot项目

news2024/11/18 5:43:58

目录

  • 前言
  • 一、环境准备
  • 二、全局工具配置jdk、maven、git
  • 三、配置Gitee
  • 四、新建任务-部署Springboot项目


前言

Jenkins是一款流行的开源持续集成(CI)和持续交付(CD)工具。它可以帮助开发人员自动构建、测试和部署软件应用程序,提高开发效率和软件质量。

Jenkins主要有以下几个功能:

  1. 自动化构建:Jenkins可以监视版本控制系统中的代码更改,并在代码更改后自动触发构建操作,生成可执行的软件包和构建工件。

  2. 自动化测试:Jenkins可以将自动化测试集成到构建过程中,确保已构建的软件能够通过预先定义的测试脚本进行测试。

  3. 自动化部署:Jenkins可以将构建好的软件部署到不同的环境中,例如开发、测试、生产等,以实现快速迭代和部署。

  4. 插件扩展:Jenkins提供了大量的插件和集成,可以与其他工具、技术、平台等进行无缝集成,例如Docker、Kubernetes、Git、GitHub等。

  5. 可定制性:Jenkins具有很高的可定制性,用户可以根据自己的需求和偏好对其进行配置和扩展。


一、环境准备

JDK:安装教程 ☺️ 我的版本:jdk-8u361-linux-x64.tar.gz

Maven:安装教程 ☺️ 我的版本:apache-maven-3.6.3.tar.gz

Git:我用的yum安装

yum install git

git --version
git version 1.8.3.1

Jenkins:注意的是Jenkins 宣布:从2020年6月28日发布的 Jenkins 2.357 和即将发布的 9 月 LTS 版本开始,Jenkins 最低需要 Java 11。
所以Jenkins要下2.357之前的,不然运行时会报jdk版本的错。
此教程使用的是运行war包,下载地址 ☺️ 我的jenkins版本:2.332.3
上传到服务器后,在存放路径下运行命令

nohup java -jar jenkins.war --httpPort=9999 > jenkins.log 2>&1 &

通过httpPort来修改端口号,然后同级目录生成jenkins.log日志文件。

访问路径:IP:9999

  1. 稍微等一会出现jenkins等待页面

  2. 查看密码: cat /root/.jenkins/secrets/initialAdminPassword在这里插入图片描述

  3. 安装推荐的插件

  4. 创建用户

  5. 通过创建的账号和密码登录
    在这里插入图片描述

安装完成,搭配Gitee实现自动化部署项目还需安装两个插件

插件安装步骤:
Dashboard => Manager Jenkins => Manage Plugins

  • Maven Integration
  • Gitee
    在这里插入图片描述

二、全局工具配置jdk、maven、git

Dashboard => Manager Jenkins => Global Tool Configuration

Maven

/usr/local/apache-maven-3.6.3/conf/settings.xml

在这里插入图片描述

/usr/local/apache-maven-3.6.3

在这里插入图片描述

Java

/usr/local/jdk1.8.0_361

在这里插入图片描述

Git

因为用的yum安装默认地址为:
/usr/libexec/git-core/git

在这里插入图片描述

三、配置Gitee

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

获取Gitee API令牌
1、登录gitee之后,访问如下网址:https://gitee.com/profile/personal_access_tokens,然后生成新的令牌:
2、获取后填入即可
3、测试
在这里插入图片描述

到这步,离成功不远了!!!坚持坚持

四、新建任务-部署Springboot项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
接下来,我们在这三个选项中填入对应的shell命令,选择调用shell
在这里插入图片描述
Pre Steps 构建之前

在这里插入图片描述

echo "停止demo服务"
pid=`ps -ef | grep 替换为你的jar包名称 | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
echo "停止demo服务成功"

Build
在这里插入图片描述

clean package -Dmaven.test.skip=true

Post Steps jenkins克隆下来的代码在/root/.jenkins/workspace下

BUILD_ID=DONTKILLME
echo "自定义创建放置jar包的目录"
if [ ! -d "/opt" ];then
  mkdir /opt/jar
  else
  echo "文件夹已经存在"
fi

if [ ! -f "/opt/jar/demo-0.0.1-SNAPSHOT.jar" ];then
  echo "文件不存在"
  else
  rm -f /opt/jar/demo-0.0.1-SNAPSHOT.jar
fi

mv -f /root/.jenkins/workspace/demo/target/demo-0.0.1-SNAPSHOT.jar /opt/jar/demo-0.0.1-SNAPSHOT.jar
echo "移动jar包完成"

echo "启动demo服务"
nohup java -jar /opt/jar/demo-0.0.1-SNAPSHOT.jar > /opt/jar/demo.log 2>&1 &
echo "启动demo服务完成"

在这里插入图片描述
在这里插入图片描述

在/opt/jar/demo.log中可以查看日志。至此jar包就启动完成啦。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

广州蓝景分享—快速了解Typescript 5.0 中重要的新功能

作为一种在开发人员中越来越受欢迎的编程语言,TypeScript 不断发展,带来了大量的改进和新功能。在本文中,我们将深入研究 TypeScript 的最新迭代版本 5.0,并探索其最值得注意的更新。 1.装饰器 TypeScript 5.0 引入了改进的装饰…

二、SQLServer 的适配记录

SQLServer 适配记录 说明:由于 SQLSERVER 数据库本身和MYSQL数据库有一定的语法,创表结构,物理模式等差别,在适配过程中,可能会出现各种错误情况,可参考本次适配记录。 当前环境: 适配项目:JDK11,SpringBoot服务。 适配数据库:SELECT @@VERSION,得 Microsoft SQL …

ProtocolBuffer入门和使用

<<<<<<< HEAD 基础 入门 优势 protocol buffer主要用于结构化数据串行化的灵活、高效、自动的方法&#xff08;简单来说就是结构化数据的可串行化传输&#xff0c;类似JSON、XML等&#xff09;。 比XML解析更快&#xff1a;解析的层数更少&#xff0c;…

【技术发烧】MySqlServer,MySQL WorkBench安装详细教程

目录 一.下载安装MySQLSever 1.下载 2.安装 1.解压 2.编写配置文件 二.初始化数据库 1.以管理员身份打开命令提示符 2.初始化数据库 3.安装mysql服务并启动 4.连接MySQL 5. 修改密码 三.MySQL WorkBench下载 一.下载安装MySQLSever 1.下载 下载路径&#xff1a;https:/…

java导入导出excel数据图片合成工具

目录 java导出和导入excel数据java读取excel数据java数据导出成excel表格 java服务端图片合成的工具 java导出和导入excel数据 可以使用hutool的ExcelUtil工具。 在项目中加入以下依赖&#xff1a; <dependency><groupId>cn.hutool</groupId><artifactI…

【计算机基础】绝对路径和相对路径

目录 一.绝对路径 二.相对路径 例如 三.举例 一.绝对路径 绝对路径是指从根目录开始的完整路径&#xff0c;包括所有父目录的路径&#xff0c;直到目标文件或者目录 所在的位置。 全文件名全路径文件名绝对路经完整的路径 例如&#xff0c;在windows系统中&#xff0c;绝…

《Linux基础》09. Shell 编程

Shell 编程 1&#xff1a;Shell 简介2&#xff1a;Shell 脚本2.1&#xff1a;规则与语法2.2&#xff1a;执行方式2.3&#xff1a;第一个 Shell 脚本 3&#xff1a;变量3.1&#xff1a;系统变量3.2&#xff1a;用户自定义变量3.2.1&#xff1a;规则3.2.2&#xff1a;基本语法3.2…

Python自动发送消息小脚本,可用于各种聊天框~

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect 个…

安装k3s

k3s官方文档 architecture quick start 概述&#xff1a;k3s一个轻量级的kubernetes,因资源消耗知识kubernetes的一半&#xff0c;故取名k3s k3s的node分为 server node 和agent node: server node: 可以运行kubectl等命令&#xff0c;且包含 agent node的功能。agent node:…

【升级】专为小白设计的TypeScript入门课无密拟把疏狂图一醉

TypeScript&#xff1a;JavaScript的超集&#xff0c;提高代码可靠性和可维护性 【升级】专为小白设计的TypeScript入门课 download&#xff1a;https://www.666xit.com/3817/ 随着现代Web应用程序的复杂性增加&#xff0c;使用JavaScript编写大型项目变得越来越困难。TypeS…

Centos 安装MySQL

CentOS 安装 MySQL 1. 安装 VMware 以及 CentOS2. 安装 docker2.1 卸载&#xff08;可选&#xff09;2.2 安装 Docker2.3 启动 Docker2.4.配置镜像加速2.5 设置 Docker 开机自启 3. 安装 MySQL3.1 从docker镜像仓库中拉取mysql镜像3.2 创建实例&#xff0c;并启动3.3.查看docke…

20230422 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142. 环形链表 II

1、24. 两两交换链表中的节点 初始时&#xff0c;cur指向虚拟头结点&#xff0c;然后进行如下三步&#xff1a; 操作之后&#xff0c;链表如下&#xff1a; 看这个可能就更直观一些了&#xff1a; /*** Definition for singly-linked list.* public class ListNode {* i…

camunda流程引擎send task节点用途

Camunda的Send Task用于向外部系统或服务发送消息。消息可以是同步或异步的&#xff0c;可以发送到队列、主题或其他类型的消息中间件。Send Task通常用于将消息发送到外部系统&#xff0c;而无需等待响应或结果。相反&#xff0c;它只是向外部系统发出信号&#xff0c;通知其执…

使用Storm proxies动态代理IP如何正确设置使用海外IP代理?

正确设置使用海外IP代理需要以下几个步骤&#xff1a; 获取代理服务器的IP地址和端口号&#xff1a;可以在代理服务提供商的网站上或者代理IP池中获取相应的信息。在计算机或移动设备上配置代理服务器&#xff1a;打开网络设置&#xff0c;找到代理服务器的设置选项&#xff0c…

10. 并查集

10. 并查集 并查集是一种树型的数据结构 &#xff0c;并查集可以高效地进行如下操作&#xff1a; 查询元素p和元素q是否属于同一组 合并元素p和元素q所在的组 10.1 并查集结构 并查集也是一种树型结构&#xff0c;但这棵树跟我们之前讲的二叉树、红黑树、B树等都不一样&…

项目风险管理的5个重点 不得不重视

风险管理持续贯穿软件项目的整个生命周期&#xff0c;其对项目的影响非常大&#xff0c;那么如何高效管理项目风险&#xff1f;5个风险管理重点如下&#xff1a; 1、风险识别和科学分析 需要对风险发生的可能性进行分析&#xff0c;判断风险对项目影响可能性并记录其特征&#…

【 初识 Spring MyBatis 查询数据库 】

文章目录 一、概念二、为什么学 MyBatis三、怎么学 MyBatis四、第⼀个MyBatis查询4.1 MyBatis 在整个框架中的定位4.2 准备&#xff1a;创建库和表4.3 配置 MyBatis 开发环境4.3.1 添加MyBatis框架⽀持4.3.1.1 ⽼项⽬添加支持扩展&#xff1a;在⽼项⽬中快速添加框架 - EditSta…

ChatGPT 速通手册——不同相似度算法的分值介绍

不同相似度算法的分值介绍 在信息大暴涨的今天&#xff0c;人类已经不可能出现通才、全才式的人物。利用 ChatGPT 来询问我们未知领域的知识是很好的习惯和用法。但对严肃知识的学习&#xff0c;一定要通过权威来源复核审校&#xff0c;保证自己所学知识的正确。否则&#xff…

【安全学习笔记】信息收集-CDN相关的技术(CDN绕过)

CDN相关的技术&#xff08;CDN绕过&#xff09; CDN&#xff1a;内容分发网络&#xff0c;它是构建在现有网络基础之上的智能虚拟网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#xff0c;使用户就近获取所需内容…

104. 二叉树的最大深度【75】

难度等级&#xff1a;容易 上一篇算法&#xff1a; 101. 对称二叉树【74】 力扣此题地址&#xff1a; 104. 二叉树的最大深度 - 力扣&#xff08;Leetcode&#xff09; 1.题目&#xff1a;104. 二叉树的最大深度 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根…