写点什么

CI/CD 概述,基于云效进行持续集成 CI 和持续部署 CD(K8s)

作者:阿里云云效
  • 2022 年 4 月 26 日
  • 本文字数:2228 字

    阅读完需:约 7 分钟

CI/CD概述,基于云效进行持续集成CI和持续部署CD(K8s)

CI/CD 概述,基于云效进行持续集成 CI 和持续部署 CD(K8s),在应用在不断迭代过程中,需要持续集成(CI)和持续部署(CD)。EDAS 支持通过 Jenkins 和云效对您部署的应用进行 CI/CD。

使用 Jenkins 进行持续集成和部署


Jenkins 是一个开源工具,帮助您持续、自动的构建和测试软件项目、监控外部任务的运行。


您可以使用 GitLab 托管您的代码,然后使用 Jenkins 实现 EDAS 应用的持续集成。更多信息,请参见使用Jenkins创建持续集成。


在 Jenkins 环境中集成了 edas-jenkins-plugin 插件,您可以使用该插件在 Jenkins 内快速完成应用持续部署到 EDAS。更多信息,请参见在Jenkins中使用EDAS插件构建应用部署的任务。

使用云效进行持续集成和部署


阿里云云效是云原生时代新 DevOps 平台。我们可以使用阿里云云效中的云效流水线 Flow 以完成应用的持续集成和部署,云效流水线 Flow 提供了灵活易用的持续集成、持续验证和持续发布功能。


您可以将代码上传到云效流水线 Flow 支持的代码库,然后使用云效流水线 Flow 完成应用的持续集成和部署。更多信息,请参见使用云效2020进行持续集成和部署(K8s)。


应用在不断迭代过程中,需要持续集成(CI)和持续部署(CD),通过自动化的构建集成、测试和循环部署,实现快速交付高质量产品并降低人力成本。本文介绍使用云效完成应用的持续集成和部署。

前提条件


背景信息


使用云效 2020 实现应用的持续集成和部署,根据您期望的部署环境不同,有以下两种场景:


说明  在 EDAS K8s 环境部署应用时,根据不同应用类型,包含 JAR 包、WAR 包和镜像 3 种部署方式;在云效 2020 侧持续集成和部署应用到 EDAS K8s 环境时,只能以镜像方式构建和部署。


使用云效 2020 实现应用的持续集成和部署,您只需要将开发好的新版本应用代码提交到代码库,云效流水线 Flow 会监听代码事件,当满足触发事件时会触发流水线运行,部署新版本应用到 EDAS K8s 环境。



代码开发与提交一般由开发人员执行,本文不做介绍,本文仅介绍在云效流水线 Flow 侧如何创建流水线,并配置代码源、镜像仓库、部署对象和发布策略等操作流程。

步骤一:在云效创建企业


如果您是第一次使用云效Flow,则需要在云效上创建您的企业。


1、登录云效Flow

2、设置企业、组织或团队名称并选择使用规模,单击完成创建


步骤二:在云效创建流水线


1、登录云效Flow


2、在左侧导航栏,单击我的流水线,然后单击右上角的新建流水线


3、在选择流水线模板对话框,在左侧单击 Java,在右侧选择 Java · 镜像构建,发布到 EDAS Kubernetes,然后单击创建



注意:


 在 EDAS 控制台创建应用时使用的部署方式(JAR、WAR 和镜像),必须与在云效流水线设置保持一致。例如:在 EDAS 上使用镜像方式部署应用,那么在云效设置流水线时,构建环节必须是镜像相关配置。


流水线创建完成后,自动跳转到流水线配置页面。

步骤三:配置流水线


1、添加代码源


  • 在流水线的区域,单击添加代码源

  • 添加流水线源面板,配置流水线源相关信息,然后单击添加



2、云效中提供的流水线源有 3 种:代码源Jenkins Flow 流水线。本文以代码源作为示例。


Docker 镜像构建


1、在流水线的构建区域,单击 Docker 镜像构建,然后展开任务步骤镜像构建并推送阿里云

2、配置任务步骤参数,配置完成后在页面右上角单击保存并运行

​​​​​​​​​​​​​​

​​​​​​​​​​​​​​

部署到 EDAS K8s 环境


1、在部署区域,单击部署到 EDAS K8s

2、在编辑面板配置任务信息,然后单击右上角保存并运行


步骤四:代码库配置 Webhook


在代码库添加云效流水线 Flow 的代码源触发功能生成的 Webhook 地址,云效流水线 Flow 会监听代码事件,当满足触发事件时会触发流水线运行。


本文使用阿里云 Code 作为代码库,在代码库配置 Webhook 的步骤仅作参考,其他代码库请以实际为准。


  1. 登录阿里云 Code,单击目标项目。

  2. 在左侧导航栏单击设置

  3. 在左侧导航栏单击 WebHooks

  4. WebHooks 页面,设置 Webhook 地址并选中推送事件,然后单击增加 WEBHOOKS


结果验证


1、开发者上传应用新版本代码到代码库。


2、云效流水线 Flow 监听代码事件,当满足触发事件时会触发流水线运行。


在本示例流水线中配置了分批发布。故在构建任务运行成功后,您可在部署任务的区域执行以下操作:


  • 终止变更:可终止本次流水线的运行。

  • 恢复变更:可继续下一批的发布。

  • 当前发布单详情地址:可跳转到 EDAS 控制台查看变更详情。

  • 日志:可查看流水线的运行日志。



3、第一批发布完成后,您可以先验证新版本应用。验证无误后,单击恢复变更,继续下一批次的发布。

您也可以单击 当前发布单详情地址,在 EDAS 控制台的 变更记录页面单击 开始下一批,继续下一批次的发布。

EDAS 容器服务 K8s 和 Serverless K8s 交流群


如果您在 EDAS 中使用容器服务 K8s 集群和 Serverless K8s 集群过程中有任何疑问或建议,请提交工单,或使用钉钉扫描下面的二维码或搜索钉钉群号23197114加入钉钉群进行反馈。

 关于我们


了解更多关于云效 DevOps 的最新动态,可微信搜索关注【云效】公众号;


彩蛋:公众号后台回复【指南】,可获得《阿里巴巴 DevOps 实践指南》&《10 倍研发效能提升案例集》;


看完觉得对您有所帮助别忘记点赞、收藏和关注呦



发布于: 刚刚阅读数: 6
用户头像

云效,云原生时代一站式BizDevOps平台 2021.11.05 加入

云效,云原生时代一站式BizDevOps平台,支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现 10 倍效能提升

评论

发布
暂无评论
CI/CD概述,基于云效进行持续集成CI和持续部署CD(K8s)_云计算_阿里云云效_InfoQ写作社区