运维-- 云计算与 CI/CD
前言更多运维相关知识蓝队技能学习_其实防守也摸鱼的博客-CSDN博客持续更新ing~介绍如果说前面的监控和日志是运维的“眼睛”那云计算和 CI/CD 就是运维的“双手”和“高速公路”。它们彻底改变了我们管理服务器和发布软件的方式。☁️ 云计算告别“买服务器”拥抱“租算力”在云时代之前上线一个应用需要经历一个漫长的流程申请预算 - 采购物理机 - 机房上架 - 安装系统 - 配置网络。这个过程动辄需要几周甚至几个月。云计算的出现把这一切变成了像“用水用电”一样简单。你只需要在阿里云、AWS 这样的云平台网页上点几下鼠标或者敲几行命令几分钟内就能获得一台配置好的服务器。作为云运维你的工作重心从“修硬件”变成了“管资源”。核心工作主要包括计算资源 (ECS/EC2)管理云上的虚拟机。你需要知道如何创建、配置、启动、停止这些实例以及如何根据业务流量设置弹性伸缩比如双十一流量暴增时自动增加服务器流量低谷时自动减少从而节省成本。网络规划 (VPC)在云上构建一个隔离的、属于你自己的私有网络环境。你需要规划子网、配置路由表和安全组云上的防火墙确保你的服务器安全且能互相通信。存储与数据库 (OSS/RDS)管理云盘、对象存储用来存图片、视频等大文件以及云数据库。云平台会帮你搞定数据库的备份、主从高可用等底层运维工作让你能更专注于业务。安全与监控 (RAM/CloudMonitor)管理用户的访问权限谁能操作哪些资源并利用云平台自带的监控工具查看资源的使用情况。一句话总结云计算让你不再为硬件故障发愁而是专注于如何更高效、更安全、更省钱地使用云上的资源。 CI/CD打通开发与运维的“自动化高速公路”有了云服务器发布软件的速度变快了但流程本身可能还是很痛苦。在没有 CI/CD 的传统模式下开发写完代码后需要手动打包然后找运维申请上线。运维拿到代码包再手动登录服务器执行一系列复杂的命令来部署。这个过程不仅慢而且极易出错比如漏掉一个配置文件、敲错一个命令。CI/CD持续集成/持续交付就是为了解决这个问题而生的。它是一条自动化的“高速公路”让代码从开发人员的电脑一路畅通无阻地跑到生产环境的服务器上。它主要分为两个阶段 CI持续集成代码的“自动质检员”CI 的核心思想是开发人员应该频繁地比如每天把代码合并到主干分支。每次合并都会自动触发一个流程自动拉取代码从 Git 仓库如 GitLab、GitHub拉取最新的代码。自动编译构建把代码编译成可执行的程序或 Docker 镜像。自动运行测试运行单元测试、代码质量扫描等确保新代码没有引入 Bug。如果任何一步失败系统会立刻通知开发人员“你提交的代码有问题请修改” 这样就能在问题刚产生时就发现并修复而不是等到上线后才爆炸。 CD持续交付/部署应用的“自动快递员”当代码通过了 CI 的“质检”后就会进入 CD 阶段。持续交付 (Continuous Delivery)自动将通过测试的代码部署到测试环境或预发布环境。最后一步发布到生产环境通常需要运维人员点击一个“批准”按钮以保证风险可控。持续部署 (Continuous Deployment)更进一步的自动化。只要代码通过了所有测试就会全自动地发布到生产环境完全不需要人工干预。实现 CI/CD 的常用工具Jenkins老牌且功能极其强大的开源工具插件生态非常丰富几乎能对接任何系统。GitLab CI / GitHub Actions与代码仓库深度集成配置简单通常只需在代码库里写一个 YAML 配置文件是目前非常流行的选择。 它们是如何协同工作的在实际的现代企业里云计算和 CI/CD 是紧密结合的开发提交代码开发人员将新功能代码提交到 GitLab 仓库。触发流水线GitLab 仓库检测到新代码自动触发 CI/CD 流水线比如 Jenkins 或 GitLab CI。CI 阶段流水线自动拉取代码进行编译、打包比如打包成一个 Docker 镜像并运行自动化测试。CD 阶段测试通过后流水线自动将这个 Docker 镜像推送到镜像仓库然后调用 Kubernetes (K8s) 的接口将新版本的容器自动部署到云上的 K8s 集群中。上线完成整个过程可能只需要几分钟用户就访问到了最新的功能。一句话总结CI/CD 实现了软件交付的自动化而云计算提供了弹性的运行环境。两者结合让软件发布变得像发朋友圈一样简单、快速、可靠。到这里整个现代运维的核心知识体系Linux基础 - 自动化与容器 - 监控日志 - 云与CI/CD咱们就全部打通了实战既然前面已经体验过 Docker 和 Ansible 的“手感”了那咱们就趁热打铁直接写一个最简单的 CI/CD 流水线。为了让你最快上手我们使用目前最流行、且与代码仓库深度集成的GitHub Actions。它不需要你额外安装任何复杂的软件只要有一个 GitHub 账号在网页上点几下就能跑起来。我们将模拟一个最经典的场景当开发人员把代码推送到 GitHub 后系统自动拉取代码、运行测试最后自动把应用部署到云服务器上。️ 准备工作打通 GitHub 与云服务器的“安全通道”在让 GitHub 自动帮你部署代码之前必须先赋予它登录你服务器的权限。我们通常使用 SSH 密钥来实现免密登录。在云服务器上生成密钥对登录到你的云服务器执行以下命令生成一对 SSH 密钥ssh-keygen -t ed25519 -C github-actions(一路回车即可。这会在~/.ssh/目录下生成两个文件id_ed25519是私钥id_ed25519.pub是公钥)将公钥加入服务器的授权列表cat ~/.ssh/id_ed25519.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys(解释这相当于把一把“备用钥匙”交给了 GitHub让它以后能合法登录)在 GitHub 仓库配置 Secrets保管机密信息回到你的 GitHub 项目页面进入Settings-Secrets and variables-Actions。点击New repository secret添加以下几个变量SERVER_HOST你的云服务器公网 IP。SERVER_USER服务器登录用户名比如root或ubuntu。SERVER_SSH_KEY把刚才在服务器上生成的私钥(id_ed25519文件里的全部内容) 复制粘贴进来。 编写流水线“剧本”在 GitHub 中CI/CD 的配置文件是一个 YAML 文件。在你的项目根目录下创建这样一个文件路径.github/workflows/deploy.yml。把下面这段“剧本”复制进去name: Auto Deploy Pipeline # 1. 触发条件当代码推送到 main 分支时自动触发这条流水线 on: push: branches: [ main ] jobs: # 2. 定义一个名为 Test 的任务 Test: runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkoutv4 # 官方动作拉取你的代码 - name: Run Tests run: | echo 正在自动运行单元测试... # 这里可以写 pytest、npm test 等真实的测试命令 echo 测试通过 # 3. 定义一个名为 Deploy 的任务必须在 Test 成功后才能执行 Deploy: needs: Test runs-on: ubuntu-latest steps: - name: Deploy to Server via SSH uses: appleboy/ssh-actionmaster # 使用第三方开源动作通过 SSH 连接服务器 with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USER }} key: ${{ secrets.SERVER_SSH_KEY }} script: | echo 成功登录云服务器开始自动部署... # 这里可以写拉取 Docker 镜像、重启服务、执行 Ansible 脚本等真实部署命令 echo 部署完成应用已上线 见证奇迹代码自动跑起来提交代码把这个.github文件夹和里面的代码提交并推送到你的 GitHub 仓库的main分支。查看运行过程打开你的 GitHub 仓库页面点击顶部的Actions标签页。你会看到一个绿色的圆点在转动这就是你的流水线正在运行查看日志点击进去你能清晰地看到两个阶段第一个阶段Test自动拉取了代码并打印了“测试通过”。第二个阶段Deploy自动通过 SSH 登录了你的云服务器并打印了“部署完成”。整个过程不到一分钟完全不需要人工干预 总结流水线是如何串联起所有知识的通过这个极简的流水线你会发现之前学过的知识全都串联起来了开发人员提交了包含Docker配置的代码。CI/CD 流水线自动接管运行测试保证质量。测试通过后流水线通过 SSH 登录到云上的Linux 服务器。在服务器上执行命令可能还会调用Ansible来更新配置或者重启K8s集群里的容器。最后Prometheus和ELK默默接管继续监控和记录新上线应用的健康状态。这就是现代 DevOps 的魅力用代码管理一切让机器去做机器擅长的事让人去解决更有创造力的问题。

相关新闻

Perplexity科研提效全解析,深度解读学术文献精读、引用溯源与跨语言验证三大核心能力

Perplexity科研提效全解析,深度解读学术文献精读、引用溯源与跨语言验证三大核心能力

更多请点击: https://kaifayun.com 第一章:Perplexity科研提效全解析概览 Perplexity 是一款面向科研工作者的 AI 增强型搜索引擎,其核心价值在于将传统信息检索升级为“可验证、可溯源、可迭代”的知识发现流程。它通过实时联网抓取权威来源…

2026/7/13 14:07:22阅读更多 →
SPT-AKI存档编辑器终极指南:轻松掌控你的塔科夫离线世界

SPT-AKI存档编辑器终极指南:轻松掌控你的塔科夫离线世界

SPT-AKI存档编辑器终极指南:轻松掌控你的塔科夫离线世界 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh_mirrors…

2026/7/13 14:07:22阅读更多 →
重新定义工业物联网:物联大师的轻量级架构范式转变

重新定义工业物联网:物联大师的轻量级架构范式转变

重新定义工业物联网:物联大师的轻量级架构范式转变 【免费下载链接】iot-master 物联大师是开源免费的物联网平台,集成了标准Modbus和主流PLC等多种协议,支持数据采集、公式计算、定时控制、自动控制、异常报警、流量监控、Web组态、远程调试…

2026/7/13 14:07:22阅读更多 →
002、端到端成像链路架构:从光子到比特的完整旅程

002、端到端成像链路架构:从光子到比特的完整旅程

002、端到端成像链路架构:从光子到比特的完整旅程去年夏天,我在调试一款车载环视系统的夜视效果时,遇到了一个让人抓狂的问题:图像在暗部区域出现诡异的紫色条纹,ISP(图像信号处理器)的每个模块…

2026/7/13 15:12:30阅读更多 →
Nuke Survival Toolkit:150+专业插件如何让你的合成工作流效率翻倍?

Nuke Survival Toolkit:150+专业插件如何让你的合成工作流效率翻倍?

Nuke Survival Toolkit:150专业插件如何让你的合成工作流效率翻倍? 【免费下载链接】NukeSurvivalToolkit_publicRelease public version of the nuke survival toolkit 项目地址: https://gitcode.com/gh_mirrors/nu/NukeSurvivalToolkit_publicRelea…

2026/7/13 15:12:30阅读更多 →
003、影像系统软硬件协同设计:SoC选型、ISP集成与性能权衡

003、影像系统软硬件协同设计:SoC选型、ISP集成与性能权衡

003、影像系统软硬件协同设计:SoC选型、ISP集成与性能权衡去年夏天,我在产线盯一个车载环视项目的夜视效果。客户反馈倒车影像在暗光下噪点像雪花一样,ISP的3DNR开到最大档还是压不住。我蹲在产线用示波器量MIPI信号,发现Sensor输…

2026/7/13 15:12:30阅读更多 →
004、计算摄影vs传统成像:范式革命与核心差异解析

004、计算摄影vs传统成像:范式革命与核心差异解析

004、计算摄影vs传统成像:范式革命与核心差异解析一、一个让我失眠三天的Bug 2018年,我在某旗舰手机项目里调夜景模式。传统ISP pipeline跑出来的RAW图,噪点像芝麻撒了一地,但细节还在。换上计算摄影的HDR多帧合成,画面…

2026/7/13 15:12:30阅读更多 →
如何在5分钟内免费解锁Wand游戏修改器:终极完整指南

如何在5分钟内免费解锁Wand游戏修改器:终极完整指南

如何在5分钟内免费解锁Wand游戏修改器:终极完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wand游戏修改器的高级功能付…

2026/7/13 15:12:30阅读更多 →
Windows系统文件CredProv2faHelper.dll丢失找不到问题解决

Windows系统文件CredProv2faHelper.dll丢失找不到问题解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

2026/7/13 15:07:29阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/13 4:47:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/13 0:50:34阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/13 4:52:09阅读更多 →
卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

研究痛点提出(提出问题)重组肠激酶是融合标签切除核心工具酶,当前原核表达体系存在三大标准化难题,直接阻碍可复现的蛋白质分离纯化流程搭建:Trx、GST、单 SUMO 标签融合产物绝大多数为包涵体,沉淀占比超 9…

2026/7/13 0:04:58阅读更多 →
语音转文字工具AsrTools:让音频整理变得简单高效

语音转文字工具AsrTools:让音频整理变得简单高效

语音转文字工具AsrTools:让音频整理变得简单高效 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text …

2026/7/13 0:04:58阅读更多 →
Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改

Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改

Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools 你是否曾经想要调整Palwor…

2026/7/13 0:04:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/13 4:21:17阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/13 4:08:53阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/12 21:43:43阅读更多 →