基于专有云EDAS OpenAPI构建企业级云原生CICD——Series1:概述及准备

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拉取镜像部署应用。

3.2 提交代码

(1)开发提交代码到git本地仓库。
(2)开发对需要发布的版本打上Tag。
(3)通过GitLab的tag push,将本地仓库代码同步到远程的gitLab服务上。

3.3 WebHook触发Jenkins的构建任务

提交代码到GitLab服务,WebHook触发Jenkins的构建任务,Jenkins和WebHook配置如下:
(1)在cicd的源码管理页面,配置git库地址。

基于专有云EDAS OpenAPI构建企业级云原生CICD——Series1:概述及准备

图1:git库地址配置

(2)在cicd的构建触发器页面,配置触发器,并获取触发器的URL和Secret Token。

基于专有云EDAS OpenAPI构建企业级云原生CICD——Series1:概述及准备

图2:构建触发器示意图-1

基于专有云EDAS OpenAPI构建企业级云原生CICD——Series1:概述及准备

图3:构建触发器示意图-2

(3)在cicd的Settings页面,配置git库的WebHook。
说明:URL和Secret Token的值即上一步中获取的触发器的URL和Secret Token。

基于专有云EDAS OpenAPI构建企业级云原生CICD——Series1:概述及准备

图4:git库的WebHook配置

(4)在cicd的构建页面,配置构建镜像和推送镜像。

基于专有云EDAS OpenAPI构建企业级云原生CICD——Series1:概述及准备

图5:cicd构建页面配置

(5)执行如下命令配置触发调用EDAS Open API小程序对外暴露的请求地址,用于访问EDAS后台。

基于专有云EDAS OpenAPI构建企业级云原生CICD——Series1:概述及准备

图6:请求地址配置

本期对EDAS及Open API最佳实践的前两步工作进行了介绍,下期将对调用EDAS OpenAPI拉取镜像部署应用进行详细介绍,敬请期待!

刘伟业

阿里云智能混合云PDSA团队高级解决方案工程师

多年云计算、金融行业应用运维工作经验,银行核心应用运维架构设计与应用维护。专注中间件及数据库技术,现就职于阿里云智能GTS-SRE团队,主要负责中间件领域客户技术支持工作。

我们是阿里云智能全球技术服务-SRE团队,我们致力成为一个以技术为基础、面向服务、保障业务系统高可用的工程师团队;提供专业、体系化的SRE服务,帮助广大客户更好地使用云、基于云构建更加稳定可靠的业务系统,提升业务稳定性。我们期望能够分享更多帮助企业客户上云、用好云,让客户云上业务运行更加稳定可靠的技术,您可用钉钉扫描下方二维码,加入阿里云SRE技术学院钉钉圈子,和更多云上人交流关于云平台的那些事。

基于专有云EDAS OpenAPI构建企业级云原生CICD——Series1:概述及准备

上一篇:eclipse 报错:GC overhead limit exceeded


下一篇:RocketMQ高可用探究:消息存储技术