基于专有云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

相关实践学习
通过EDAS实现K8s微服务应用的金丝雀发布
本实验旨在通过使用分布式应用服务EDAS纳管容器服务ACK Serverless,体验微服务应用的部署、访问和高级发布能力。
SpringMVC框架入门
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts2等。 相关的阿里云产品企业级分布式应用服务 EDAS:企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )等微服务运行环境,助力您的各类应用轻松上云。产品详情: https://www.aliyun.com/product/edas 
相关文章
|
弹性计算 Kubernetes Cloud Native
云原生微服务应用平台 EDAS 2022 年度报告
最近一年来,随着我们的客户对于云技术的诉求从资源快速交付的服务,转变为对资源精益运用的服务。EDAS 团队结合公共云上所服务的企业类客户的几万个应用,选取了 8 个最具代表性的指标,进行了一次系统性的分析整理和总结,希望可以给当前正在从事软件架构的从业人员一个侧面的视角,来了解一些当下发生在身边的技术现象。
413 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版本,全面支撑云原生技术体系,旨在帮助各行业的企业客户以更经济的方式、更高效的路径在云上构建一套云原生应用。
1217 0
阿里云EDAS 3.0重磅发布,无侵入构建云原生应用
|
Kubernetes Cloud Native 安全
阿里云EDAS 3.0重磅发布,无侵入构建云原生应用
近日,阿里云EDAS重磅发布3.0版本,全面支撑云原生技术体系,旨在帮助各行业的企业客户以更经济的方式、更高效的路径在云上构建一套云原生应用。
1334 0
|
23天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
21天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
1月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
43 3