【Jenkins流水线搭建】
Jenkins流水线搭建
- 01、SpringBoot项目 - Jenkins基于Jar持续集成搭建文档
- 基于手动方式发布项目
- 基于dockerfile
- 基于jenkins + dockerfile + jenkinsfile +pieline
- 基于jenkins + jar方式的发布
- 01、环境说明
- 01、准备项目
- 02、准备服务器
- 03、安装git
- 04、安装jdk1.8
- 05、安装maven依赖
- 06、安装jenkins
- 07、启动jenkins
- 08、解锁 Jenkins
- 09、自定义Jenkins
- 10、创建管理员账号
- 11、实例配置
- 12、Jenkins控制面板
- 13、配置镜像源
- 14、Jenkins插件安装
- 1、jekins汉化插件安装
- 2、安装Credentials Binding插件
- 3、git插件安装
- 15、配置凭据 - 全局Git账号和密码管理
- 16、配置环境变量
- 配置jdk
- 配置Maven
- 17、Jenkins关联环境变量和设置常量
- 02、基于Jenkins的jar的方式发布和部署
- 01、准备项目
- 02、创建代码仓库
- 03、项目关联仓库
- 04、在jenkins创建一个任务
- 05、编写shell脚本和jenkins关联执行
- 06、开始构建即可
- 代码
- 02、基于Jenkins的docker的方式发布和部署
- 01、Pipeline插件安装
- 02、利用Pipeline自动化发布服务
- 1、点击新建任务,填写项目名称,选择流水线,点击确认
- 2、开始构建
- 3、配置端口映射
- 4、配置项目名称
- 5、该有的参数都已经准备完毕,接下来要做的就是拉取代码
- 6、项目配置好以后
- 03、创建Jenkinsfile
- 04、然后在jenkins的控制台中
01、SpringBoot项目 - Jenkins基于Jar持续集成搭建文档
基于手动方式发布项目
-
开发代码
-
打包-jar
-
把jar上传到服务器
-
把上一次的服务杀掉,停止
-
启动运行新的jar
基于dockerfile
-
开发代码
-
编写Dockerfile (一次性)
-
mvn clean package 自动生成镜像
-
手动或者使用idea Docker插件,创建容器,启动容器
学习成本:Docker
基于jenkins + dockerfile + jenkinsfile +pieline
- 开发代码
- 搭建jenkins环境 (一次性)
- 编写Dockerfile (一次性) 和Jenkinsfile规则(一次性)
- 上传代码
- jenkins控制台启动服务 (触发器)
学习成本:Docker ,Jenkins ,Pieline 触发器
基于jenkins + jar方式的发布
-
开发代码
-
搭建jenkins环境 (一次性)
-
创建一个任务 ,创建shell脚本
-
上传代码
-
jenkins控制台启动服务 (触发器)
01、环境说明
| 服务 | 所需软件 | 部署地址 |
|---|---|---|
| 持续集成服务 | Jenkins 2.319.1、Maven3.6.3,Git | 47.107.225.126 |
| 应用测试服务 | JDK1.8 | 47.107.225.126 |
01、准备项目
准备一个springboot + Dockerfile项目
02、准备服务器
服务器配置建议:4core + 8G 或者 4core + 16G 越高越好。
提醒:学生机就不要来试了,估计docker都跑不起来就卡死了
03、安装git
查看是否已经安装
git --version
使用yml安装
yum -y install git

04、安装jdk1.8
查看当前是否有安装jdk
- maven和项目,jekenis都java项目肯定需要java环境
java -version
安装jdk1.8
yum install java-1.8.0-openjdk* -y
- 安装完以后,默认的路径是: /usr/lib/jvm
- 提醒:建议不要安装jdk11。
05、安装maven依赖
-
1、前往官网下载自己想要的maven包
地址: http://maven.apache.org/download.cgi
各版本地址:https://archive.apache.org/dist/maven/maven-3/
我以apache-maven-3.6.3-bin.tar.gz为例,
下载地址: https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
-
2、将maven上传liunx服务器上,我这里上传到了
/www/servers,当前的安装目录root如下:cd /www/serversmkdir -p /www/servers/maven cd /www/servers/maven -
3、上传完毕,执行解压
wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz如果下载很慢建议用手动的方式上传到
/www/servers/maven#解压文件 tar -xzvf apache-maven-3.6.3-bin.tar.gz #创建目录,用于存放maven mkdir -p /opt/maven #将解压完的maven文件剪切到刚刚创建的目录下 mv apache-maven-3.6.3/* /opt/maven
建议配置:阿里云的maven镜像。https://developer.aliyun.com/mvn/guide 步骤:在conf/setttings.xml中配置如下:
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>aliyunrepositoty</name><url>https://maven.aliyun.com/repository/public</url> </mirror>
-
4、配置maven环境变量
安装完maven,还需要配置java和maven的环境变量。就放在文件的尾部即可首先打开环境配置文件
vim /etc/profile配置内容
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export MAVEN_HOME=/opt/maven export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin执行保存生效
source /etc/profile查看maven版本
mvn -v[root@iZwz9gi039o35ikykbyj1tZ maven]# mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /opt/maven Java version: 1.8.0_312, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-1160.49.1.el7.x86_64", arch: "amd64", family: "unix"
06、安装jenkins
1、官网地址
https://www.jenkins.io/download/
相关文章:
【Jenkins流水线搭建】
Jenkins流水线搭建 01、SpringBoot项目 - Jenkins基于Jar持续集成搭建文档基于手动方式发布项目基于dockerfile基于jenkins + dockerfile + jenkinsfile +pieline基于jenkins + jar方式的发布01、环境说明01、准备项目02、准备服务器03、安装git04、安装jdk1.805、安装maven依赖…...
PHP 基础介绍
PHP 学习资料 PHP 学习资料 PHP 学习资料 PHP 是一种广泛使用的开源服务器端脚本语言,尤其适合 Web 开发,能轻松嵌入 HTML 中,生成动态网页内容。接下来,让我们一起了解 PHP 的基础内容。 一、PHP 的安装与配置 在开始编写 PH…...
DeepSeek如何重塑我的编程学习:计算机新生的AI实践
目录 🚀前言🌟邂逅DeepSeek:从困惑到惊喜💯初学编程的困境💯DeepSeek的优势 🖊️DeepSeek在编程学习中的运用💯注释💯算法逐步分析💯调试帮助💯跨语言迁移学习…...
spring boot和spring cloud的关系
Spring Boot和Spring Cloud之间的关系可以概括为构建和扩展的关系,其中Spring Boot提供了基础,而Spring Cloud在此基础上提供了分布式系统和微服务架构所需的扩展和工具。以下是两者关系的详细阐述: 一、基础与扩展 Spring Boot:…...
ThreadLocal原理和存在问题
ThreadLocal 的工作原理 ThreadLocal 是 Java 提供的一个类,用于在多线程环境下存储线程局部变量。每个线程都可以独立地更改存储在其 ThreadLocal 变量中的值,而不会影响其他线程中的变量副本。ThreadLocal 的实现原理基于 Thread 类中的 ThreadLocal.…...
用Echarts的柱状图实现圆柱体效果
用Echarts的柱状图实现圆柱体效果 在数据可视化的世界里,Echarts凭借其强大的功能和丰富的特性,成为众多开发者的首选工具。本文将深入探讨如何利用Echarts的柱状图来实现独特的圆柱体效果,通过详细剖析代码,让大家了解其中的实现…...
Docker 常用命令基础详解(一)
一、Docker 初相识 在当今数字化时代,软件开发和部署的效率与灵活性成为了关键因素。Docker,作为一款开源的应用容器引擎,犹如一颗璀璨的明星,照亮了软件开发与部署的道路,为开发者们带来了前所未有的便利。它就像是一…...
Java并发中的CAS机制:原理、应用与挑战(通俗易懂版)
上一期文章内容:Java并发中的乐观锁与悲观锁, 本期文章我们来讲一下Java并发中的CAS机制 一、从银行账户案例理解CAS CAS 是一种乐观锁机制,用于在不使用锁的情况下实现多线程对共享资源的并发访问。 它包含三个操作数:内存位置&a…...
腾讯发布混元-3D 2.0: 首个开源高质3D-DiT生成大模型
在之前的文章中已经和大家介绍过腾讯HunYuan-3D 1.0,感兴趣的小伙伴可以点击下面链接阅读~ HunYuan-3D 是首个开源高质3D-DiT生成大模型,几何与纹理解藕生成,一键将创意具象化。 2.0模型架构图及介绍 2.0模型将几何和纹理生成解耦࿰…...
【机器学习】线性回归与一元线性回归
线性回归与一元线性回归 V1.1线性回归问题线性方程的最优解一元线性回归一元线性回归的方程一元线性回归距离衡量方法一元线性回归的最优化求解一元线性回归的最小二乘法解法 V1.1 线性回归问题 线性回归问题就是找一条线或超平面,并使用线或超平面来描述数据分布…...
哈希表-两个数的交集
代码随想录-刷题笔记 349. 两个数组的交集 - 力扣(LeetCode) 内容: 集合的使用 , 重复的数剔除掉,剩下的即为交集,最后加入数组即可。 class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer…...
望远镜成像系统--科学评价光学镜头
望远镜是一种利用透镜或反射镜以及其他光学器件观测遥远物体的光学仪器。其原理是通过透镜的折射或反射镜的反射,将光线聚焦成像,再经过一个放大目镜进行观察。日常生活中的光学望远镜又称“天文望远镜”。1608年,荷兰的一位眼镜商汉斯利伯希…...
服务器延迟给视频网站造成的影响
在数字化时代中,网络视频已经成为人们日常娱乐和获取信息的重要平台,网络视频的流畅性会影响着用户的体验度,那么,当服务器出现延迟会对视频网站造成哪些影响呢?本文就来共同了解一下吧! 当所使用的服务器由…...
C++算法竞赛基础语法-9
快速排序是一种高效的排序算法,由C. A. R. Hoare在1960年提出,基本思想是分治法(Divide and Conquer)策略,通过递归将一个大问题分解为若干个较小的子问题,然后合并这些子问题的解来解决原始问题 快速排序…...
国产编辑器EverEdit - 极简追梦人的福音:迷你查找
1 迷你查找 1.1 应用场景 某些场景下,用户不希望调出复杂的查找对话框,此时可以使用迷你查找窗口。 1.2 使用方法 选择主菜单查找 -> 迷你查找,或使用快捷键Ctrl Alt F,会在右上角弹出迷你查找窗口,如下图所示…...
Flutter 异步编程利器:Future 与 Stream 深度解析
目录 一、Future:处理单次异步操作 1. 概念解读 2. 使用场景 3. 基本用法 3.1 创建 Future 3.2 使用 then 消费 Future 3.3 特性 二、Stream:处理连续异步事件流 1. 概念解读 2. 使用场景 3. 基本用法 3.1 创建 Stream 3.2 监听 Stream 3.…...
数据结构 day05
数据结构 day05 5. 队列5.3. 链式队列5.3.1. 特征5.3.2. 代码实现 6. 双向链表6.1. 特性6.2. 代码实现 5. 队列 5.3. 链式队列 5.3.1. 特征 逻辑结构:线性结构 存储结构:链式存储 操作:创建、入列、出列、判空、清空 5.3.2. 代码实现 头文…...
股票数据接口API实例代码python、JAVA等多种语言演示免费获取实时数据、历史数据、CDMA、KDJ等指标数据配有API说明文档
本文中所有接口均可直接在浏览器打开获取数据,为了便于大家验证有效性,已经做好了超链接,直接点击即可! 沪深两市股票列表 API接口链接(可点击验证):https://api.mairui.club/hslt/list/b…...
【Map vs Set】:Java数据存储的“双子星”对决
个人主页:♡喜欢做梦 欢迎 👍点赞 ➕关注 ❤️收藏 💬评论 目录 🍰一、搜索 🍮1.概念 🍮2.模型 🍰二、Map 🍨1.什么是Map? 🍨2.Map的实例化 &…...
ollama+langchain+deepseek本机跑通大模型
一、部署deepseek Ollama,这是是一个开源的大语言模型平台,它允许用户在本地环境中运行、创建和共享大型语言模型。Ollama提供了丰富的功能和特性,使得用户可以在自己的计算机上轻松地部署和运行大型语言模型。官网:https://ollam…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
