基于CodePipeline实现CI/CD

ci/cd

在企业DevOps实践案例中,经常运用Gitlab+Jenkins+Docker部署实施CI/CD, 市场上也有十分成熟的CI/CD SAAS产品,其中面向个人开发者或中小企业,可以尝试使用Gitee+CodePipeline+阿里云容器服务来搭建CI/CD服务。

Gitee

Gitee(码云)是开源中国旗下的Git类SAAS产品,基于 Gitlab 开源软件所开发,目前国内最大的代码托管系统。关键是可以免费创建私有仓库, 虽然数量和空间大小有限制(仓库总量5G,数量1000个, 协作人数5人),相对Github和阿里云Code真是良心不少。

CodePipeline

CodePipeline

阿里云CodePipeline是一款提供持续集成/持续交付能力,并完全兼容Jenkins的能力和使用习惯的SAAS化产品。

主要特色

  • 提供了多套源代码管理平台的集成,可以与GitHub、Bitbucket、阿里云Code等平台无缝集成获取源码
  • 提供了多种开发语言的编译及单元测试能力,目前包含Java,Node.js,Python2,Python3和PHP五种语言,以及通用文件打包模式。
  • 提供了容器化集成解决方案,可以独立支持Docker镜像编译,同时支持通过阿里云容器镜像服务 进行编译和安全检查,并与阿里云容器服务打通,目前支持蓝绿/灰度发布等多种发布方式
  • 提供了应用部署到ECS的能力,同时完全兼容开源自动化运维软件Salt,透明整个应用发布和部署能力

在开发人员提交代码到源代码管理平台之后,持续集成服务会拉取代码进行构建,可以通过编译服务进行docker build,或通过容器镜像服务进行,在Build后可以对Docker镜像进行测试,在测试通过后通过使用容器服务的插件进行部署。

在这个过程中,CodePipeline扮演了CI和CD Service,同样您的运行环境也可以是ECS环境,VM

ci/cd

提供了容器化的完整解决方案,通过CodePipeline可以构建您的代码工作流模板,配置从应用编译/测试到容器镜像的编译测试,再到容器环境的发布,打通代码应用发布全过程自动化

有用就打赏一下作者吧!