阿里云云效-流水线管理快速入门

Posted by 汤键|兔子队列 on January 23, 2024 禁止转载
本文总共 1815 字 · 阅读全文大约需要 6 分钟

什么是流水线

  • 在DevOps中,流水线(Pipeline)是一个自动化的过程,它将软件开发的各个阶段连接起来,从代码的编写、构建、测试,到部署和交付给最终用户的全过程
  • 流水线 Flow 是一款企业级、自动化的持续集成和持续交付工具
  • 通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线的CI/CD全流程,帮助企业高质量、高效率的交付业务
  • 流水线可以分为不同的阶段,常见的包括:
  • 代码提交(Source):开发人员提交代码到版本控制系统,触发流水线的开始
  • 构建(Build):将源代码编译成可运行的程序或者软件包
  • 测试(Test):对构建的软件进行自动化测试,包括单元测试、集成测试、性能测试等,确保软件的质量
  • 部署(Deploy):将通过测试的软件自动部署到生产环境或者预生产环境中
  • 交付(Deliver):将软件发布给最终用户,可能包括发布到应用商店、更新网站等

DevOps的流水线强调持续集成(CI)持续交付(CD) 的概念:

  • 持续集成(Continuous Integration, CI) 指的是频繁地(可能是每天多次)将代码变更集成到主分支中,每次集成都通过自动化测试,以尽早发现并解决集成错误
  • 持续交付(Continuous Delivery, CD) 则是在持续集成的基础上,确保软件可以随时被部署到生产环境中,但部署动作可能需要手动触发
  • 持续部署(Continuous Deployment) 是持续交付的进一步,每当代码变更通过所有的测试和质量检查后,代码自动部署到生产环境,无需手动干预

使用DevOps流水线的好处包括提高自动化水平、加快软件交付速度、提升软件质量、减少人为错误等

应用场景 持续集成

  • 支持 Java、Node.js、Python、PHP、Golang等各种主流语言和技术框架编译构建,满足各种持续集成场景

持续部署

  • 支持虚拟主机、K8s等各种发布方式;通过灰度发布、分批发布等各种策略,保障业务交付的稳定

持续测试

  • 内置代码扫描、 安全扫描和各种自动化测试能力,支持人工测试卡点、自动化验证卡点等多种质量红线,确保业务交付质量

企业级管理

  • 复杂的流程通过可视化编排和结果展现,保障企业交付可见可控可度量
  • 通过企业管理组织架构和企业数据,提供企业级权限体系,对交付资源和成员进行精细控制,保障交付的安全性
  • 和钉钉,邮件,站内消息打通,提供即时反馈

本文以一个 Java + Maven + 主机构建部署示例,教你如何快速使用云效流水线 Flow 发布一个项目

步骤一:新建流水线

  • 1-进入云效 > 流水线 Flow 首页 > 我的流水线,单击 新建流水线,打开 选择流水线模板弹窗,选择对应的开发语言,可以查看当前语言下的默认流水线模板,可以根据模板快速创建流水线
  • 2-单击 Java,选择 Java 构建、部署到阿里云ECS/自有主机模板,单击创建,进入流水线编辑页面

步骤二:编排流水线

  • 添加流水线源
  • 进入流水线编辑页 > 流程配置,打开 添加流水线源,选择 示例代码源,默认选中 Java 代码类型,自动填充代码仓库地址、默认分支、工作目录等
  • 单击 添加,流水线源区域便会出现已添加的流水线源
  • 配置构建任务
  • 单击 Java 构建上传任务,打开任务配置面板
  • 查看 Java 构建步骤配置,可按需修改
  • 查看 构建物上传步骤配置,可按需修改
  • 本例中,需要将target/application.jar和deploy.sh两个文件打包到制品中,打包路径按下图配置
  • 配置部署任务
  • 单击主机部署任务,打开任务配置面板 配置如下表单:
  • 制品:下拉选择上游构建阶段的产物
  • 主机组:选择待部署的主机组
  • 下载路径:部署配置中的下载路径为构建物上传步骤产出的压缩包将要被下载到你的主机上的路径,本例中为:/home/admin/app/package.tgz
  • 执行用户:填写执行部署脚本的用户,如 root 或者 admin 等;本例中为:root
  • 部署脚本:因为实际的部署脚本已经打包到了构建产出的压缩包中,因此部署脚本可以简单的进行解压和执行即可
  • 填写如下部署脚本:

步骤三:运行流水线

  • 上述配置完成,单击 保存 并运行,可以看到 保存成功 提示,并打开 运行配置弹窗
  • 默认 master 分支,单击 运行 即可触发流水线运行,进入流水线运行页

步骤四:查看流水线运行结果

  • 进入流水线运行页面,可以查看流水线运行进度和结果
  • 单击 Java 构建上传任务卡片上的日志可以查看构建日志
  • 单击 主机部署任务卡片上的 部署详情 可以查看部署单详情:部署耗时、部署状态、日志等
  • 部署状态为已完成即项目发布完成