打造云上DevOps,基于阿里云codepipeline,docker做持续交付实践

背景

项目进行服务化改造之后,dubbo服务加上其他应用服务有上十个微服务需要构建,面临一个服务发布以及运维工作量剧增。业内比较常用的自动构建工具是Jenkins。看一下它的流程以及工具集:
image
可以看到,非常强大,同时也非常复杂。网上收集整理出来的几大问题。

  1. 架构陈旧,性能底下。(250个slave,1000个job)。
  2. 安全漏洞频发
  3. 运维成本大
  4. 缺乏完善的权限模型

最终选型落在阿里云的codepipeline,目前免费中,估计后期肯定会收费,阿里云一贯的作风,先免费后收费。

codepipeline介绍

阿里云CodePipeline是兼容Jenkins标准的、提供快速可靠的持续集成与持续交付服务。基于容器技术和阿里云基础服务架构,提供稳定和安全的代码/Docker编译构建,测试,扫描和部署的工具服务,并提供Pipeline As Code的编码级配置模式,满足应用程序和基础设施快速可靠的交付和更新。

开通CodePipeline

  1. 开通CodePipeline
    1. 登录阿里云控制如后,通过如下导航找到CodePipeline。
      cbedb20e3464587ff60fa781fd71ef8d.png
    2. 点击图中菜单按钮来到服务开通页面,点击开通服务按钮.
  2. 创建项目和运行项目
    1. 登录阿里云控制台后,通过菜单导航到CodePipeline后,出现如下界面。
    2. 点击新建按键,来到创建项目导航页面。输入项目名称Cloud_DevOps,并选择Java项目,点击下一步,
    3. 来到代码配置构建页面,在“仓库地址”中输入如下代码,这是一个普通的Java Web示例项目,可以通过Git Clone后查看其内容。

CodePipeline架构

image

CodePipeline部署流程

image