全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网

使用发布线进行持续交付

更新时间:2017-06-07 13:26:11

阿里云持续交付平台CRP,可以帮助您用鼠标在白屏上拖拽节点的方式定义您的发布工作流,每个节点,您可以加入多个任务,帮助您完成自动化更新代码、编译、运行单元测试、自动化发布到ECS机器上。

1 使用场景说明

当您需要基于您的代码库,做代码扫描(安全检查)->自动化编译->测试->自动化部署到服务器时,您可以在持续交付平台CRP上定制一条您的持续发布线。 您的持续发布线定制完成后,当您的代码更新后,CRP会监听到您的分支更新了代码,自动创建1条新的发布线开始运行,自动帮您做编译、测试、部署等工作。并且出现问题时,可以发邮件通知项目成员。

2 第一步:自动生成示例持续发布线

在您初次使用CRP时,CRP会帮助您创建一个Demo项目,此项目中包含了Java语言的示例持续发布线、代码库库。您可以点击持续发布线右上角的“编辑”按钮,查看每个节点的配置,作为参考。

3 第二步:创建持续发布线

在项目列表中,点击您要配置持续发布线的项目,在左侧的菜单栏中点击图标工作流图标,进入持续发布线配置页面。

点击“新建持续发布线”,新增持续发布线,您可以选择系统默认的模板/Java模板/PHP/Node.js的标准模板创建发布线,非Java模板/PHP/Node.js的可以选择系统默认的模板,再进入配置页面详细配置:

公用模板

4 第三步:定义每个节点信息

您可以点击任一节点,在四个小圆点处,拖拽出新的活动,可以是并行的或是串行的;

您可以点击长方形的节点,在下方的“活动信息”中配置“活动的名称”,其他字段解释如下:

  1. “自动触发” :打勾表示自动运行(比如当监听分支有代码提交时就自动运行,或是上一个节点完成后自动运行),不打勾的时候,运行时需要手动点击运行;

  2. “自动完成”:打勾表示,该节点的任务都跑成功后,节点状态自动变为成功(绿色),不打勾,表示需要人为确认该节点是否通过。比如集成测试阶段,很多需要人工测试的,可以不打勾。

  3. “异常通知”:可以配置当这个节点运行失败时,邮件通知给项目中的某些角色,比如勾选了管理员,则运行出错时CRP就会自动发邮件通知这个项目的管理员。

5 第四步:配置每个节点要做的任务

您可以点击长方形的节点,在下方的“任务列表”中可以配置多个任务,点击任务列表旁边的“➕”可以增加任务。

目前CRP有前置表单、代码更新、安全扫描、编译、测试、Tag、部署、上传构件、后置表单这9个任务可以选择。

选择多个任务后,系统会默认按照上面的顺序给您排序好。

每个任务的具体说明参考下面的链接:

前置/后置表单

代码更新

编译

部署部署组

如果您想要删除某一个任务,鼠标移动到该任务的右侧,点击叉号即可:

删除任务

好的持续发布线推荐: CRP中多分支持续集成的配置

注意:为了方便您以后进行快速回滚,建议您的部署任务单独配置到1个节点中。

6 第五步:点击“生效”开始运行发布线

发布线都配置好以后,点击右上角的“生效”按钮,CRP会提示您生效成功。 生效成功后,会自动跳转到运行的页面,如果您的代码没有新的提交,也没有手动触发工作流,您的页面是没有运行数据的,如下图:

手动触发发布线

您的代码库提交完代码后,CRP会监听到您的代码提交,如果您的节点配置了“自动触发”,页面上将出现一个正在运行的发布线(如果不是自动触发的,可以点击右上角的触发按钮,手动运行):

  1. 点击“历史信息”可以查看曾经运行过的发布线;
  2. 选择历史信息中的某一条工作流后,点击“控制台输出”,可以查看运行时的输出日志;
  3. 包含部署任务的发布流运行成功后,会保存到“发布纪录”中去,便于后续追溯和回滚。

运行中的发布线

7 第六步:运行发布线

运行过程中,人工确认运行结果 当您的节点没有勾选“自动完成”,您会看到如下的几个按钮: 勾号表示这个节点已经运行通过了,点击后该节点会自动完成,变成绿色; 叉号表示验证不通过,废弃此条发布线。如需要修复问题,重新提交代码,触发新的发布线。 圈圈表示需要重新运行此节点。 如下图:

运行中的发布线

8 第七步:发布成功后,回滚线上包

快速回滚

本文导读目录