1 背景
企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是阿里云原生产品体系的核心产品之一,为复杂微服务的构建和托管提供端到端应用生命周期管理。在不少企业级场景中,EDAS会被集成到客户侧的研发测试的IT流程中形成更加完整的企业IT云化整体解决方案,如对接到客户的CMP多云管理平台,被串联到客户的CICD流水线中,和客户的统一监控运维平台对接等。对于以上场景我们在多个真实项目中帮助客户一起完成了整体实践的设计和落地,在这里以最佳实践的方式系统性地输出给专有云的广大客户进行参考,以期EDAS可以在各行业的客户场景中更好地被使用、被集成。
本次最佳实践通过打通客户侧GitLab、Jenkins与专有云企业版提供的EDAS和ACK来帮助客户构建端到端企业级云原生CICD流水线。具体实现思路为通过JAVA编写一个EDAS-SDK适配插件,Jenkins通过在脚本库预先设置的SHELL脚本来调用该插件,从而集成EDAS在持续交付层面的能力。
2 软件环境
本期最佳实践基于阿里云专有云企业版V3.9.0版,EDAS控制台由Apsara Stack控制台单点登录并跳转。
3 基于GitLab+Jenkins+Edas+K8S组装CICD流水线
3.1 操作流程
本期最佳实践涉及的任务流程如下:
(1)开发提交代码(本示例中代码管理在GitLab中)。
(2)WebHook触发Jenkins的构建任务。
(3)调用EDAS OpenAPI拉取镜像部署应用。