“当我们在说 DevOps/SRE/PE/NoOps 的时,我们在说什么“?

14 CICD 篇:微服务架构如何更好地利用多个“测试”环境? 本节课我讲解了 CI/CD 的基本概念,和“测试”环境。CI/CD 是持续集成和持续交付的意思,“测试”环境指的是产品交付过程中的各类环境,在 CI/CD 中的起到了产品价值传递的重要作用。紧接着,我对交付过程中的各种运行环境进行了讲解,包括环境说明和测试侧重点。其中测试环境(Test)是测试人员进行新功能测试的主要环境,在这个测试阶段针对新功能进行各种类型的测试、缺陷修复及回归等。 阅读详情

本文作者:柯浩

GitHub 地址: http://github.com/KeHaohaoke

 

Note: 以下观点不代表本人就职的公司,系作者个人观点,这些观点和作者的本人工作经历有关,可能不够面面俱到。

从 Devops 的由来说起

近些年,DevOps 以及 SRE 的宣传和布道在国内越来越多,在各招聘平台也可以看到这些职位的招聘信息(出现具体公司信息的,隐去),以某招聘网站,地点选择北京,分别搜索 devops 和 sre 我们可以看到。

devops 的职位

 

sre 的职位

 

几乎所有的互联网公司都在提出做 DevOps 建设(当然了,不然怎么会有这些职位的招聘呢:) 有的公司还有SRE团队

  • 有的公司并没有区分 DevOps/SRE ,他们有所不同吗?

  • DevOps 与 CICD 有什么关系呢?

  • 稳定性建设/ SLA/SLO 究竟是谁来负责呢?

  • 等等,好像还看到过PE工程师,还有 NoOps 的提出

  • 安全的同学说,我们还有 DevSecOps

各位,有没有好奇过这些?没有的话,那现在你可以好奇一下,本文会一一道来。

这些职位到现在的发展,在有的招聘中已经和当时提出来的时候的概念不太一样了。但这不要紧,我们可以先从这些职位的溯源来看他们提出来的时候的背景和当时的要求。

其实,DevOps 本身是一种技术文化,它本身旨在打破 Dev 和 Ops 之间的墙,让大家的沟通更顺畅。

DevOps 正式的被提出是在计算机届知名的出版公司 O'reilly 举办的 Velocity 大会上,在2008年的 Velocity 大会上,一场名为10+ Deploys per Day: Dev and Ops Cooperation at Flickr的演讲带来了 DevOps 的说法,我们现在还可以在 O'reilly 的网站上看到这个视频。

在这场演讲中,John Allspaw ( Flickr 的运维团队的总监)提出了要“构建快速发布软件的工具和文化”,注意,敲黑板,这里不仅有工具,还有文化。此后,几乎所有谈到 DevOps 理念的都会提到这场演讲。Patrick 当时并没有在会议现场,但他后来观看了会议视频,深有同感,这为 DevOps 埋下了种子。Patrick 随后在 Twitter 上表示,他也想参加 Velocity 大会,一些工程师回应他,你可以举办你自己的 Velocity 大会,我们都去参加。时间又到了2009年,这一年,Patrick 通过 Twitter 召集了本年的社区版“ Velocity 大会”,并在比利时举行。由于是个会议,Patrick 得起个名字,他就想到了 Dev 和 Ops,由于会议举行了两天,于是会议被命名为 DevOps Days。

这也是 DevOps 领域著名的会议:DevOps Days 的第一次首秀,本次会议结束后,参会的工程师和管理人员们带着 Devops 的理念回到世界各地,逐渐的在全世界范围内推广和实践 DevOps 。

DevOps在做什么

 

Photo by PCB-TECH on https://pixabay.com

说了这么多,那么 DevOps 究竟要做什么? 正如最早提出 DevOps 的2008年的 Velocity 大会所说,DevOps 的关注点之一,在快速发布软件的工具和文化。与此对应,并由此延伸的:持续集成,持续交付,持续部署,甚至发展了持续规划,持续测试等等。如果你想知道还有哪些持续什么,可以参看这篇文档微软关于DevOps的介绍

不管怎样,DevOps 的宗旨都在于尽可能多的,尽可能快的集成/部署/交付。

通过 CICD(持续集成和持续交付)流水线的设计,尽可能“快速失败”。所谓尽可能“快速失败”是为了让失败能尽早进行,尽早看到,尽快修改。在这过程中,提倡测试尤其是自动化的测试更早的介入,所谓“测试左移”。

我们回忆一下(可能有的同学回忆不了,没经历过那个时代)手工运维的时代:在没有任何自动化设施的软件公司,怎么发布软件:研发按需求开发,在本地打包构建,把包给运维同学,运维同学把包上传到服务器,修改配置文件为生产环境配置,重启服务以生效。哦,好吧,每次发布都是折磨人,尤其是随着节点规模的逐步的扩大,每操作一个节点,就要把上述操作全部进行一次,简直了,忍受不了。是的,那就需要 DevOps ,拒绝手工。

流水线,CICD

如上,想象一下没有流水线的场景,我们需要手工做CI持续集成:代码lint,单元测试,构建。然后再做发布验证。如果不能自动化的做这些,那么,就不能尽可能多和尽可能快的持续交付价值。

在这个过程中,可以从几个纬度来考量 DevOps 带来的益处:

  • 提高部署效率和频率

  • 缩短部署前置修改时间

  • 快速回滚(恢复)的速度

  • 提高更高的失败率

这些为什么重要呢?从交付速度 角度来说,越快的加速交付,就能越快的去验证商业逻辑、试错、提高bug修复到客户看到效果等各种过程的速度。

敏捷与DevOps

不管是国内,还是国外,提到敏捷,就绕不开 DevOps 。我们回忆一下上文提到的Patrick老哥,他在Agile 2008 大会上的演讲中谈到可以将 Scrum(敏捷一种实现)结合运维中。Patrick 在一个测试数据中心迁移的项目与开发和运维团队一起工作。在他的工作中,需要频繁往返于开发与运维之间。

而敏捷所强调的小步快跑,持续交付等理念正需要 DevOps 在技术上的有效支持才能落地,否则,敏捷的这些环节就是空中楼阁。

同时,DevOps 也借鉴了 Scrum 的理念,在 Dev 的用户故事之外提出了测试故事和运维故事。并且在继承了 Agile 的理念的同时,更强调了软件开发生命周期的理念(SDLC),强调了并不是编码和测试完成就是软件开发的结束。还需要运维的管控。

而对于传统的运维流程 ITIL 。DevOps 则是有选择的吸收,要有流程,但不是受制于流程,且流程的变更应该是自动化工具实现的推动和数据的流转,而不是依赖人工。

DevOps 文化

打破部门墙,树立 Ownership

这是在务虚吗?不完全是。DevOps 的确强调文化。我们又要提到 Patrick 老哥,前文已述,他的工作要频繁的往返于开发和运维之间。而这两个团队,其实在 DevOps 理念广泛的被接受之前,两个团队是割裂的:Dev 更喜欢尽快验证上线,而 OPS 团队则希望尽可能少的变更,毕竟,越少的变更,越不容易出错。

而且,这两个团队的技术栈也有所不同,比如在早点的时候,国内一些公司,以本文作者经历过的一些不同的100多人的技术团队到几百人的技术团队到2000人左右的技术团队:一些传统的运维不会开发,只写业务逻辑的开发不懂系统层/网络层的技术,这会导致两个团队的沟通成本比较高,除此之外,由于Dev如果只关注写业务逻辑,不知道生产环境的整体架构全貌,生产环境出了问题,需要找OPS了解生产环境,排查时间也会变长。

DevOps 正是要打破这种部门墙,让 Dev 和 OPS 有效的沟通:

  • 从技术栈来说:OPS 需要学习开发的知识,以便可以开发 DevOps 工具和平台,高效的完成 DevOps 工作。Dev 也需要了解系统层面、网络层面的知识,去了解生产环境的架构,以更清楚的知道产品在技术层面的全貌,有利于对问题的分析和排查。

  • 从Ownership的角度来说,都要有主人翁精神,对自己负责的产品有 Ownership 意识,而Ownership并不是务虚的,而是要通过 DevOps 的技术建设,让研发能够参与到发布之中。而在自动化建设不好的环境下,甚至需要专人来进行发布,Dev 也不知道如何进行 CICD,这里,建议不要用权限控制来说事,权限控制可以通过技术来实现,给予必要且刚好够用的权限,让 Dev 能够自己发布自己的产品,解放 OPS 的人力不是去专门的做发布点击工程师:)

关于 DevOps 不仅仅是工具,更应该是关于有效协作和沟通的文化,可以参看scrum.org的一段描述:

DevOps is more about Organisation Culture than about Tools

In fact, as we have learned tools and automation is only one-third of DevOps (I would say it is even less). In overall, DevOps is about Collaboration & Collective Ownership, Focus on the flow of value delivery and Learning and experimentation culture. But sadly, many tooling vendors position DevOps as tools and process for delivery pipeline (the vendors that I've witnessed in my market are more focused on tools but your experience may be different to mine). This will get the management excited because many managers whom I've met think that after buying and installing the "DevOps" tools without changing their organisation will make their company instantly agile. This is like putting the cart in front of the horse.

仅仅以为引入了自动化工具就是 DevOps 是不够的,还需要协作,关注价值传递。

康威定律与组织建设

康威定律:设计系统的组织,其产生的设计和架构等价于组织间的沟通结构。

组织架构和技术架构是有相应的映射关系的,有什么样子的组织,就有什么样的技术架构。严格讲究职能边界的企业是很难有效的推广微服务和 DevOps 的。

在一个企业发展初期,工程师可能都是多面手,可以完成开发和运维等诸多工作,这种情形下,沟通是高效的。随着企业的发展, 有了独立的 PM、QA、DEV、OPS 等部门,不同的团队之间就会出现耦合和依赖,这会降低沟通效率和提高部署的成本:一个产品的上线要经过诸多沟通甚至人工的审批。

微服务的提出,要求团队之间解耦,团队要能在技术上自治,可以自己进行开发和运维,通过系统调用或者接口调用完成自服务和自运维。

我们如果朝着减少组织各个团队之间不必要的沟通和协同(注意,不是不要沟通和协同,而是减少不必要的沟通和协同)的时候,组织的自运行效率就会上升。

反之,各个团队之间通过比如PM来协调资源和沟通,就难以形成微服务的技术架构,而是会形成分层的技术架构。

这里,要特别指出,让运维团队参与研发日常活动,比如每日站会,也会让运维更好的理解研发工作和分享团队内部信息,对齐目标。

PS:安全的同学吸收 DevOps 的理念,强调 Dev/Sec/Ops 三者的协作,并把 DevOps 的方法融入到安全的工作中,就是DevSecOps了。

说了这么多,DevOps只关注交付吗

好了,这个标题是故意的,是为了引出 SRE。交付之后呢?就不管了吗?一个应用上线之后,优化它,持续迭代(持续迭代还是偏 Dev 和 CICD ),还有,还要持续监控它,最好能提前发现故障的迹象,及早的消除故障,甚至消除故障出现的可能。

当遇到流量压力,应该可以快速的水平扩容,扩容是无感知的。应当关注 SLO(service-level object),并有合理的 SLA(service-level agreement)。

而这些是 DevOps 应该关注的吗?其实这个说法不一,以作者的个人经历认为:DevOps 既然是持续的关注交付价值和价值的流动,那么价值的流动并没有到交付就结束。而监控/无感知扩容/服务质量保证都是 DevOps 可以关注的。不应该局限于具体的技术名词的限制。但在实际工作中,可以有专注的领域,毕竟,人的精力和专注度是有限的。

SRE & SRE vs DevOps

sre 是由 google 提出的:Site Reliability Engineer (网站可靠性工程师)。在 google 的说法里,sre 是 devops 的落地。

SRE 的首要任务是保证 SLA, 重要的是 SRE 的工作出发是以开发人员扮演的角色,SRE 都是从研发来的,而不是传统的运维。这是 SRE 和传统运维最大的不同。

SRE 是替代原有IT操作的一种方式,强调以自动化,编写工具的方法解决,即 treat [IT] operations as if it’s a software problem。

SRE 关注以下几个方面

  • 容量规划

  • 冗余和容错

  • 流量过载

  • 负载均衡

  • 监控

  • 救火(没有看错)

SRE 强调尽可能自动化的以编程的方式完成这些工作,但必须承认,有些工作可能是不好自动化的,比如Troubleshooting。在 Google 的 SRE 体系中,SRE 工程师将花费大约一半的时间来开发新的工具和服务,这些工具的一部分用于自动化一些手动任务,而其他部分用于来不断填补和修复整个 SRE 体系内部的其他系统。对 Google 的 SRE 理念和他们的实践感兴趣的,可以阅读[SRE: Google 运维解密],英文版是[Site Reliability Engineering: How Google Runs Production Systems]。这是 GoogleSRE 团队编写的书籍,全书从 SRE 工作的各个方面讲述了 SRE 在 Google 是如何落地实践的。

同时,也可以看到,对于流量过载和容量规划的需要,以及系统应对流量过载的做法:快速无感知的水平扩容,这就需要云原生的技术,k8s 容器化、自动化的扩容,加入服务。SRE 对于监控系统的需要,在传统的监控系统的基础上发展了可观测性的理念。

SRE 是 DevOps 的落地,SRE 更偏向技术实践,而 DevOps 还有组织文化和流程等内容。但两者不是对立的,恰恰相反,SRE 工作就是开发和运维有效的结合,正是 DevOps 理念非常好的实践。

PE/NoOps/AIOps

PE就是应用运维工程师,是国内很多公司的运维的实际角色。和 SRE(真正的 SRE)的不同是,PE 偏向只是应用运维。

NoOps 是一些公司提出的理念,本质还是在于消除手工运维,而不是消除运维,而是要通过解放原来的手工或者低效的沟通,解放原来运维做的大量的重复的、手工的比如仅仅是权限原因,有专职的发布运维;DBA 天天在复制粘贴开发提交的 SQL 等工作。而通过 DevOps/SRE 的建设,让运维和 DBA 去干真正有价值的事情,比如关注中间件的原理和大规模实践,成为有专长和深耕的技术人,并在这些方面的运维有建树。

AIOps 是这几年才有的概念,但作者个人的经历结合看到的 DevOps 产品来说,由于实际生产环境的复杂多样性,目前还没有 AI 来做 OPS/DevOps/SRE,哪个公司敢让AI决定怎么 Troubleshooging ?至少目前还没有,当然,技术的发展是超出人们想象的,也许有一天,AIOps 或者是其他的某个XXOps 真的可以实现智能运维。

总结

国内很多公司,SRE 还停留在口头,参看很多招聘的 jd 就可以知道,其实只是应用运维换了个说法,包括一些 DevOps/运维开发的岗位需求也是,其实主要工作还是应用运维,即:部署/上线/监控/ TroubleShooting/On call。其实,不管是 DevOps, 还是 SRE,都在强调自动化。在这一点上,我们可以不那么在意这么多上述名词的区别,毕竟落地到工作中,都是很实在的工作。可以先从高效的自动化开始,建设自己的 DevOps/SRE 体系。

可以尝试向真正的 DevOps 或者 SRE 转变,可以做先吃螃蟹的人。

如果你还在为部署/配置/整合打通各种 Devops 工具费神,可以看看一个神奇的网站:DevStream官网的开源工具:DevStream,它会帮助你向真正的 DevOps 更进一步,在此基础上,你可以更好的学习和成长,以至于成为 google 定义的真正的 SRE。

运维软件PE工具箱下载附制作、安装教程 软件介绍: PE系统是在Windows下制作出来的一个临时紧急系统,当电脑无法正常启动时,可以通过PE系统修复电脑里的各种问题,比如删除顽固病毒,修复磁盘引导分区,给硬盘分区,数据备份,安装电脑系统等。 安装步骤 1.在电脑上插入一个U盘(U盘的内存不小于8G),鼠标右击插入的【U盘】选择【格式化】。 2.文件系统选择【NTFS】,点击【开始】。 3.点击【确定】。 4.格式化完成,点击【确定】。 5.鼠标右击【PE工具箱】压缩包选择【解压到 PE工具箱】。 6.打开解压 阅读详情

相关推荐

Spring Boot微服务架构(十三):与 CI/CD 工具的集成方法

CI/CD(持续集成/持续部署)是现代软件开发的核心实践,通过自动化构建、测试和部署流程提高交付效率。Spring Boot与主流CI/CD工具(如Jenkins、GitLab CI/CD、GitHub Actions、CircleCI)的集成方案包括:配置构建脚本、设置触发条件、定义部署逻辑等。随着容器化技术普及,将Docker等工具融入CI/CD流程可进一步优化发布周期。这些实践显著减少了人为错误,加速了软件交付速度,使团队能够更敏捷地响应市场需求。

软件行业技术文化交流。 870

2024 年必看!Kubernetes 安全、AI 运维、CI/CD 新趋势

‍‍公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !2024年要密切关注和关注什么????本文总结了2024年需要密切关注的技术趋势,包括Cilium对Kubernetes安全的影响、Hubble在Kubernetes可观察性和网络中的角色、k8sgpt为Kubernetes运维引入的人工智能、Tekton作为CI/CD系统的开源框架、Timoni作为Helm的可能替代...

easylife206的专栏 1076

ComfyUI的G-Dino模型加载器报错解决方案:从崩溃到重生

遇到G-Dino模型加载器报错不要慌,按照本文的步骤操作,99%的问题都能解决。模型文件正确下载到指定位置segment_anything节点安装完整且无冲突需要补充更多细节或故障排除方法吗?可以随时告诉我。

2301_78150483的博客 4024

平台工程/SRE应该关注的10大技术趋势

探究与DevOps、SRE 和平台工程领域相关的热门技术趋势

PE_community的博客 1030

小程序 video 控制器外观调整_Kessil 360X Tuna Sun无线控制器使用分享

之前分享了Kessil 360X Tuna Sun开箱记录,时间关系,没来得及使用WiFi Dongle无线控制器。昨晚抽空实操了一下,做个操作记录,希望对大家有参考Kessil无线模块操作指南官方视频英文教程配中文字幕,非常详尽语速较快,重点位置可以暂停操作点击边框调出视频工具条1、拆包取控制器,保存二维码Kessil WiFi Dongle包装打开包装就能看到Kessil无线控制模...

weixin_39759060的博客 4734

六自由度机器人(机械臂)运动学建模及运动规划系列(四)——轨迹规划

本篇介绍了六轴机器人关节空间以及笛卡尔空间轨迹规划的简单方法,并给出了一种几何解法,以简化规划过程,并提供了简单的Matlab轨迹规划函数介绍。

weixin_47849087的博客 5万+

【云原生-DevOps】企业级DevOps平台搭建及技术选型-CICD篇

Ingress相当于K8S集群的流量入口(后端通过Nginx实现),根据Host和Path判断把流量分发到具体的后端应用。在K8S中就是最主要的,主要包含多个Pod,如最大最小内存、最大最小CPU限制,这样设置后也会保护我们的主机。如果调用者与GRPC服务在同一个K8S集群中,可直接通过列表中的访问地址进行访问,无须加端口。如果调用者与GRPC服务不在用一个K8S集群中,则访问者需要绑Hosts,域名为访问地址。填写的Host不会自动解析到K8S集群入口,需要用户自行解析到集群任一节点的IP。

起而行动,方能平定心中的惶恐 2万+

检索增强世界模型(R-WoM)原理与应用实践

世界模型是AI系统理解环境的核心技术,通过构建环境的内部表示实现状态预测和行动规划。传统方法基于RNN或VAE等神经网络,而检索增强世界模型(R-WoM)创新性地引入检索机制,结合外部记忆库提升系统性能。这种架构突破模型参数限制,使AI能像人类一样利用历史经验解决问题,在游戏AI、虚拟助手等场景表现优异。关键技术包括FAISS相似性搜索、分层记忆管理和动态检索策略,其中Transformer编码器和GRU动态模型的组合实现高效环境建模。实践表明,该方法可提升47%的战术多样性,加快32%的应急响应速度。

weixin_42676876的博客 341

DevOps介绍(Development & Operations 开发和运维)(一种软件开发方法论,强调开发人员(Dev)与运维人员(Ops)之间的沟通、协作和整合)

DevOps是一种实践和方法的集合,其目标是通过改进和优化软件开发和运维流程,提高交付速度和质量。在这篇文章中,将详细讨论DevOps的核心概念,关键工具,最佳实践以及如何实施DevOps。DevOps是Development(开发)和Operations(运维)两个词的组合,表明这种方法旨在消除软件开发生命周期中开发和运维之间的隔阂。

Dontla的博客 1869

MCU启动流程详解

在MCU启动后,系统从flash主存储区开始执行,先将0x08000000地址存放的堆栈栈顶指针赋给SP寄存器,将0x08000004地址存放的Reset_Handler复位向量地址赋给PC寄存器跳转执行系统复位,期间执行System_Initializes函数配置系统时钟,重定位向量表,执行MDK自带库函数__main将RW、ZI数据段从Flash加载到RAM,并跳转至_rt_entry进行Stack和Heap的初始化,最后跳转到熟悉的main函数。

weixin_50827397的博客 1505

PCL 快速均匀下采样

快速均匀下采样 是一种点云降采样技术,通过设置采样步长来实现等距降采样,从而减少点的数量。用户可以通过指定步长,选择每隔一定数量的点采样一个点,这样可以在保持点云几何特性的同时,显著减少点的数量。

纵马踏花向自由 871

构建以开发者体验为核心的云原生平台工程

平台工程(Platform Engineering)是通过构建内部开发者平台(IDP,Internal Developer Platform),将基础设施、工具链、运维能力进行产品化封装,向开发者提供自助式、低门槛、高一致性的研发体验。其核心目标是:降低开发者学习成本实现“黄金路径”的标准化交付将平台能力以产品形态输出给研发团队一句话总结:平台工程=打造一个“企业内部的 Heroku”。平台工程的本质不是构建一堆工具,而是从“工具集”到“产品平台”的思维转变。

2401_88419115的博客 1304

计算图像哈希SHA-512

上述需要将lena.jpg放在当前目录下。

计算机视觉之光 961

全栈、DevOps 和 SRE 分别是什么,它们的核心职责和技能点有哪些,以及三者之间的区别是什么?

摘要: 全栈工程师负责应用全链路开发(前端到后端),DevOps工程师聚焦研运协同与交付自动化,SRE保障系统高可用与稳定性。三者区别在于:全栈关注业务功能实现,DevOps优化工具链与流程,SRE通过工程化手段确保系统可靠性。DevOps是理念,SRE是其深度实践;全栈需基础DevOps技能,而SRE需更强的开发能力。大型团队中三者分工明确,小团队可能角色融合。核心关系可概括为:全栈造轮子,DevOps建流水线,SRE保稳定运行。(149字)

qq_45089709的博客 1289

Cadence PCB 仿真宝典【目录】

欢迎大家来到《Cadence PCB 仿真宝典》该专栏包括【入门篇】【提升篇】【技巧篇】【疑难篇】四个部分,以供大家参考。大家直接点击大纲中的蓝色标题即可轻松传送。

fydar的博客 3269

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

不要乱来 !!! 运维也分方向哦

不要乱来 !!! 运维也分方向哦

weixin_51725318的博客 2032

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

DevOps平台是干什么的?2025年95%企业都在用的自动化工具链拆解

本文介绍了DevOps的核心价值、为什么企业必须拥抱DevOps,并推荐了企业级DevOps工具链。其中极狐GitLab不仅提供代码仓库管理,还集成了CI/CD流水线、安全扫描和项目管理功能。其开箱即用的特性使其成为中小型企业的首选,尤其适合需要快速搭建自动化流程的团队。

DevOps_1024的博客 1443

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

一文讲透研发,SRE,运维,DevOps 的区别

研发,SRE ,运维是工种,而 DevOps 是体系。如果拿足球来打比方,研发,SRE ,运维对应的就是前锋,中场,后卫这样的位置,而 DevOps 则是诸如 4-3-3 这样的阵型。

Bytebase的博客 1236

赋能 DevOps:平台工程的关键作用

在当今快节奏的数字环境中,DevOps 已成为寻求简化软件开发和交付流程的组织的关键方法。DevOps 的核心在于开发和运营团队之间协作的概念,通过一组旨在自动化和提高软件交付生命周期效率的实践和工具来实现。DevOps 实践的关键推动因素之一是平台工程。平台工程师负责设计、构建和维护支持软件应用程序的开发、部署和操作的基础设施和工具。从本质上讲,它们为 DevOps 实践的蓬勃发展提供了基础。

EasyOps_DevOps的博客 1103

构建Java微服务架构的CI/CD流程

CI/CD包括持续集成(Continuous Integration)和持续部署(Continuous Deployment),它们的主要目的是通过自动化流程减少手动操作,快速、高效地将代码从开发环境部署到生产环境。持续集成(CI):在开发过程中,代码变更会频繁提交到版本控制系统。CI通过自动化构建和测试,确保每次代码变更都不会破坏现有功能。持续部署(CD):在CI的基础上,CD将构建后的应用自动部署到不同环境(如测试环境、预生产环境和生产环境),实现自动化发布。

微赚淘客系统开发者博客 1479

Docker容器化CI_CD流程

1.背景介绍 1. 背景介绍 随着微服务架构的普及,持续集成(CI)和持续部署(CD)已经成为软件开发的不可或缺的一部分。这些技术可以帮助开发者更快地将新功能和修复的错误推送到生产环境中。然而,在实际应用中,CI/CD流程可能会遇到许多挑战,例如环境不一致、部署时间长、错误难以诊断等。 Docker是一个开源的应用容器引擎,它可以帮助开发者将应用程序和其所依赖的环境打包成一个可移植的容器。这...

AI天才研究院 1315

API拦截方法一:PE简介

自己的知识分享文章,整理到博客上 ---------hgy notes. 一.PE简介 PE全名Portable Executable File Format(可移植的执行体),是目前window主流可执行文件格式, 是一种通用于所有window平台和所有CPU上的文件格式 二.PE文件的定义 PE文件的类型定义集中在WinNT.h这个类中,打开WinNT.h,再搜索Image F...

weixin_30496751的博客 258

python18运维应用

1.文件操作 shutil模块简单来说是用来复制、归档文件和目录 • shutil.copyfile(src,dst) 复制一个文件 • shutil.copymod(src,dst) 复制文件权限 , 将文件权限同步到其他文件 • shutil.copy(src,dst) 源必须是文件,但是 dst 可以是文件或者目录,与cp类似 • shutil.copy2(src,d

magic__xu的博客 409

对SRE的理解

这几年业界对 SRE 的关注越来越多,大家也几乎达成了共识,Google SRE 就是目前稳定性领域的最佳实践。也可以说,SRE 已经成为稳定性的代名词。

HiSiri的博客 5245

Spring Cloud微服务自动化部署实战:基于GitLab CI/CD的完整流水线设计

Serverless架构的兴起正在重塑微服务的部署范式。部署粒度的变革:传统Spring Cloud微服务部署通常以容器为单位,而Serverless架构使得函数成为新的部署单元。这要求CI/CD流水线能够支持更细粒度的部署策略,实现函数级别的版本管理和流量控制。环境管理的简化:Serverless架构抽象了底层基础设施,使得Spring Cloud微服务的环境配置大幅简化。GitLab CI/CD流水线不再需要关注复杂的集群配置,而是专注于业务逻辑的部署验证。成本模型的转变。

zuiyuelong的博客 1920

springcloud微服务k8s部署-03-云服务器CICD

这里在tools组件中指定了maven,运行是按指定的maven打包,这里需要特殊注意一下,maven配置的值必须是全局工具配置的变量的名称,如果没配置,必须要配置,按如下图配置。docker-compose up -d 或者 docker-compose restart jenkins。这次我准备了一个微服务项目,是依照Ruiyi-Cloud进行了一些修改,所得到的微服务项目。修改docker-compose.yml文件,添加sonarqube。#重启服务 : docker-compose up -d。

qq_39789295的博客 1389
上一篇: 从零开始快速搭建本地 Kubernetes 测试环境
下一篇: “On DevOps: 1. What It Is“
DevStream
博客等级 码龄5年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值