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

简介: 本次最佳实践通过打通客户侧GitLab、Jenkins与专有云企业版提供的EDAS和ACK来帮助客户构建端到端企业级云原生CICD流水线。具体实现思路为通过JAVA编写一个EDAS-SDK适配插件,Jenkins通过在脚本库预先设置的SHELL脚本来调用该插件,从而集成EDAS在持续交付层面的能力。

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库地址。

image

图1:git库地址配置

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

image

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

image

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

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

image

图4:git库的WebHook配置

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

image

图5:cicd构建页面配置

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

image

图6:请求地址配置

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

刘伟业

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

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

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

image

相关实践学习
微服务实战-服务注册中心 - Nacos
Nacos是阿里巴巴于2018年7月发布的一个开源项目,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 支持几乎所有主流类型的服务的发现、配置和管理: Kubernetes Service  gRPC & Dubbo RPC Service  Spring Cloud RESTful Service  
相关文章
|
弹性计算 Kubernetes Cloud Native
云原生微服务应用平台 EDAS 2022 年度报告
最近一年来,随着我们的客户对于云技术的诉求从资源快速交付的服务,转变为对资源精益运用的服务。EDAS 团队结合公共云上所服务的企业类客户的几万个应用,选取了 8 个最具代表性的指标,进行了一次系统性的分析整理和总结,希望可以给当前正在从事软件架构的从业人员一个侧面的视角,来了解一些当下发生在身边的技术现象。
545 1
云原生微服务应用平台 EDAS 2022 年度报告
|
弹性计算 Kubernetes Cloud Native
云原生微服务应用平台 EDAS 2022 年度报告
最近一年来,随着我们的客户对于云技术的诉求从资源快速交付的服务,转变为对资源精益运用的服务。EDAS 团队结合公共云上所服务的企业类客户的几万个应用,选取了 8 个最具代表性的指标,进行了一次系统性的分析整理和总结,希望可以给当前正在从事软件架构的从业人员一个侧面的视角,来了解一些当下发生在身边的技术现象。
云原生微服务应用平台 EDAS 2022 年度报告
|
Kubernetes Cloud Native Java
基于专有云EDAS OpenAPI构建企业级云原生CICD——Series2:OpenAPI调用
基于专有云EDAS OpenAPI构建企业级云原生CICD——Series2:OpenAPI调用
基于专有云EDAS OpenAPI构建企业级云原生CICD——Series2:OpenAPI调用
|
运维 Kubernetes Cloud Native
阿里云EDAS 3.0重磅发布,无侵入构建云原生应用
近日,阿里云EDAS重磅发布3.0版本,全面支撑云原生技术体系,旨在帮助各行业的企业客户以更经济的方式、更高效的路径在云上构建一套云原生应用。
1323 0
阿里云EDAS 3.0重磅发布,无侵入构建云原生应用
|
Kubernetes Cloud Native 安全
阿里云EDAS 3.0重磅发布,无侵入构建云原生应用
近日,阿里云EDAS重磅发布3.0版本,全面支撑云原生技术体系,旨在帮助各行业的企业客户以更经济的方式、更高效的路径在云上构建一套云原生应用。
1454 0
|
监控 应用服务中间件
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
253 2
|
Kubernetes 负载均衡 Serverless
通过EDAS部署并访问应用
本实验旨在通过使用分布式应用服务EDAS纳管容器服务ASK,掌握微服务应用的部署和访问。
|
Kubernetes Serverless 应用服务中间件
通过EDAS实现K8s微服务应用的金丝雀发布
本实验旨在通过使用分布式应用服务EDAS纳管容器服务ASK,体验微服务应用的部署、访问和高级发布能力。