【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…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
