云开发平台系列课程之前一直是围绕网页端来进行分享的,也就是基于云开发平台的控制台。今天的内容是介绍如何通过云开发平台新开放的 Open API来实现一些更定制化、更丰富的CI/CD的功能。
之所以会开放Open API来实现这些功能,是因为有些团队在本地已经做好了工具,希望能够使用云开发平台的部署测试或是创建应用等模块化的能力,增强他们已经有的CI/CD能力。
大家在云开发平台帮助页面可以找到《与本地CI/CD hook集成》,会有详细的关于CI/CD的介绍。
阿里云Serverless云开发平台不仅支持在线CloudIDE开发、测试和CI/CD,同时也支持本地开发。在本地环境下,阿里云Serverless云开发平台在不影响原有开发流程的前提下,提供hook文件支撑项目本地CI/CD,可以让原有项目轻松升级到云原生Serverless架构。
Hook文件需要集成在代码托管平台的触发器逻辑中。以Gitlab举例,Gitlab提供两种钩子:WEB Hook和Custom Hook,Web Hook触发时调用提供HTTP/HTTPS接口,而Custom Hook则调用相关脚本,最终这两种Hooks都会调用或实现相关的CI/CD逻辑,实现项目自动化部署。
Hook是在对远端仓库做铺代码等基础操作的时候,Gitlab会对这些操作做一些捕获或拦截,然后通过这些捕获或拦截的动作,实现操作上的强化。
CI/CD流程是围绕WEB Hook的机制来实现的。CI/CD依赖4个环境变量: CI_WORKBENCH_ID(云开发平台创建的工程ID),CI_ACCESS_KEY(阿里云账号的Access key)、CI_ACCESS_SECRETE(阿里云账号对应的Accesskey Secrete)、CI_GITFLOW_PATH&#