实用百科指南
霓虹主题四 · 更硬核的阅读氛围

DevOps阿里云怎么用:从配置到自动部署的实用操作

发布时间:2025-12-17 14:11:37 阅读:261 次

在实际工作中,很多开发团队都在用阿里云做 DevOps 实践。比如你负责一个电商后台系统,每次发版都要手动上传代码、重启服务,不仅慢还容易出错。这时候,把阿里云和 DevOps 流程结合起来,就能实现代码一提交,测试、打包、部署全自动走完。

开通相关服务并创建项目

登录阿里云控制台后,先开通几个关键服务:云效(Codeup + Flow)、容器服务 ACK、对象存储 OSS 和访问控制 RAM。云效是阿里云的 DevOps 平台,可以管理代码仓库和流水线。新建一个 Codeup 仓库,把你的应用代码推上去,比如一个基于 Node.js 的订单服务。

配置 CI/CD 流水线

进入云效 Flow,新建一条流水线。源码来源选刚才创建的 Codeup 仓库,触发方式设为“主分支推送自动触发”。接下来添加构建步骤,使用内置的构建模板,或者自定义 shell 命令:

npm install
npm run build
npm test

如果测试通过,就进入部署阶段。你可以选择部署到 ECS 实例,也可以推送到容器镜像服务 ACR,再更新 ACK 集群中的 Deployment。比如在流水线中添加“部署到 Kubernetes”动作,填写集群 ID、命名空间和工作负载名称。

结合路由设置实现灰度发布

在实际上线时,不可能一下子把所有流量切过去。比如你想先让 10% 的用户访问新版本,这就需要配合路由规则。阿里云的 ASM(应用服务网格)或 SLB(负载均衡)都支持基于权重或请求头的流量分发。

假设你有两个版本的服务 running-v1 和 running-v2,在 Kubernetes 中定义 Istio VirtualService:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: order-service-route
spec:
  hosts:
    - order.example.com
  http:
    - route:
      - destination:
          host: order-service
          subset: v1
        weight: 90
      - destination:
          host: order-service
          subset: v2
        weight: 10

这样,大部分请求还是走老版本,小部分打到新版本做验证。等确认没问题,再逐步调高 v2 的权重,完成平滑升级。

监控与回滚机制

发布过程中如果发现错误率上升,要能快速响应。阿里云 ARMS 可以接入应用监控,配合 SLS 查看日志。一旦触发预设阈值,比如 5 分钟内 HTTP 5xx 超过 20%,就自动执行回滚流程——把 VirtualService 的权重重新指向 v1,同时通知负责人。

整个过程不需要人工干预,真正做到了“敢上线”。对于经常需要迭代的业务来说,这套组合拳省下的不只是时间,更是稳定性保障。