非云原生应用,持续部署的两种方案选择

简介: 在非云原生的持续部署方面,目前主要有两种持续部署的方案,一种是由客户端主导的持续部署,一种是以jenkins为例子,使用jenkins在服务端部署jenkins服务和各种制品库和依赖组件,做持续部署。那么为什么要做持续部署呢?比如,我们有好几个服务,假如需要经常发布,上云的时候没有持续部署流水线的话,每次都需要使用sftp工具上传到跳板机,再由跳板机部署到好几台服务器,操作太麻烦,太容易出错。

在非云原生的持续部署方面,目前主要有两种持续部署的方案,一种是由客户端主导的持续部署,一种是以jenkins为例子,使用jenkins在服务端部署jenkins服务和各种制品库和依赖组件,做持续部署。

那么为什么要做持续部署呢?比如,我们有好几个服务,假如需要经常发布,上云的时候没有持续部署流水线的话,每次都需要使用sftp工具上传到跳板机,再由跳板机部署到好几台服务器,操作太麻烦,太容易出错。

好了,先说下两种部署方式的优缺点:

(1)服务端主导的部署流水线
这里以jenkins为例子,因为jenkins比较经典,很多人都使用过。
流水线的逻辑由jenkins脚本来实现,使用者要有一定的jenkins脚本技术,指定流水线的流程。比如拉取git仓库最新代码、执行mvn package、npm run build或者npm run build等命令,执行编译。然后编写scp脚本或docker打包脚本,将运行文件推送虚拟机或者docker镜像仓库,最后再编写脚本启动服务或者通过docker/j8s命令启动服务。

这里可以看出,jenkins属于重量级持续部署的方案,需要安装很多的依赖。比如git客户端、git制品仓库、maven制品仓库、npm制品仓库、maven客户端、node客户端等等。而这些环境,一般是我们开发机所具备的,因此,能不能直接使用开发机的环境编译,不使用服务端编译呢?因此,就有了方案二,客户端主导的持续部署。

(2)客户端主导的部署流水线
这里使用yunedit-ssh来实现,yunedit-ssh是一个sftp客户端和流水线工具。流水线的特点是轻量级,利用本地的编译环境或者编译好的文件直接批量上传。
这里主要使用yunedit-ssh的ssh隧道+流水线功能来实现。都是可视化的。
ssh隧道可以通过ssh跳板机作为跳版,直接访问到跳板机机房内网的服务。
比如如下例子:
image.png

这里创建了两个ssh连接,一个是跳板机的ssh连接,用来打通ssh隧道做端口映射。

使用ssh隧道,将远程内网的机器,映射端口到本地22端口后,就可以创建一个本地的ssh连接,连接本地端口即可管理到机房内网的机器了。

上图第二个连接,就是我发布文件需要推送的服务器。

然后就是配置流水线,如如下图所示:
点击创建流水线,即可创建流水线了:

image.png

下面是一个创建好的流水线的步骤:
image.png

点击其中一个步骤,可以看到,流水线可以上传文件,也可以执行本地命令,也可以执行远程命令,如下图:

image.png

比如步骤类型是执行远程命令的话,是这样配置:
image.png

这样通过可视化的方式来配置,无论是开发人员还是运维人员,都容易理解,没有信息黑洞,也无需去学习复杂的jenkins语法和制品库安装。

相关文章
|
5天前
|
存储 JavaScript 前端开发
JavaScript基础
本节讲解JavaScript基础核心知识:涵盖值类型与引用类型区别、typeof检测类型及局限性、===与==差异及应用场景、内置函数与对象、原型链五规则、属性查找机制、instanceof原理,以及this指向和箭头函数中this的绑定时机。重点突出类型判断、原型继承与this机制,助力深入理解JS面向对象机制。(238字)
|
4天前
|
云安全 人工智能 安全
阿里云2026云上安全健康体检正式开启
新年启程,来为云上环境做一次“深度体检”
1590 6
|
6天前
|
安全 数据可视化 网络安全
安全无小事|阿里云先知众测,为企业筑牢防线
专为企业打造的漏洞信息收集平台
1327 2
|
5天前
|
缓存 算法 关系型数据库
深入浅出分布式 ID 生成方案:从原理到业界主流实现
本文深入探讨分布式ID的生成原理与主流解决方案,解析百度UidGenerator、滴滴TinyID及美团Leaf的核心设计,涵盖Snowflake算法、号段模式与双Buffer优化,助你掌握高并发下全局唯一ID的实现精髓。
348 160
|
5天前
|
人工智能 自然语言处理 API
n8n:流程自动化、智能化利器
流程自动化助你在重复的业务流程中节省时间,可通过自然语言直接创建工作流啦。
408 6
n8n:流程自动化、智能化利器
|
7天前
|
人工智能 API 开发工具
Skills比MCP更重要?更省钱的多!Python大佬这观点老金测了一周终于懂了
加我进AI学习群,公众号右下角“联系方式”。文末有老金开源知识库·全免费。本文详解Claude Skills为何比MCP更轻量高效:极简配置、按需加载、省90% token,适合多数场景。MCP仍适用于复杂集成,但日常任务首选Skills。推荐先用SKILL.md解决,再考虑协议。附实测对比与配置建议,助你提升效率,节省精力。关注老金,一起玩转AI工具。
|
14天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
1550 7
|
4天前
|
Linux 数据库
Linux 环境 Polardb-X 数据库 单机版 rpm 包 安装教程
本文介绍在CentOS 7.9环境下安装PolarDB-X单机版数据库的完整流程,涵盖系统环境准备、本地Yum源配置、RPM包安装、用户与目录初始化、依赖库解决、数据库启动及客户端连接等步骤,助您快速部署运行PolarDB-X。
252 1
Linux 环境 Polardb-X 数据库 单机版 rpm 包 安装教程
|
9天前
|
人工智能 前端开发 API
Google发布50页AI Agent白皮书,老金帮你提炼10个核心要点
老金分享Google最新AI Agent指南:让AI从“动嘴”到“动手”。Agent=大脑(模型)+手(工具)+协调系统,可自主完成任务。通过ReAct模式、多Agent协作与RAG等技术,实现真正自动化。入门推荐LangChain,文末附开源知识库链接。
676 119

热门文章

最新文章