全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
云效

流水线的配置

更新时间:2018-04-17 14:55:12

本文介绍流水线的配置。若您尚不熟悉云效流水线服务,推荐从流水线概述开始阅读。

流水线的添加、修改与删除

当进入一个项目后,左侧菜单栏的“流水线”菜单项,是流水线的入口。(如果左侧菜单栏没有出现“流水线”菜单项,请前往“设置”->“服务”为该项目配置流水线服务。)

点击“流水线”菜单项,进入流水线列表页。此时左上角,有“新建流水线”按钮,可添加新的流水线。

流水线列表的每一行,末尾有“修改”按钮,点击进入该流水线的编辑页面,可修改该流水线的配置。而如果点击流水线列表每一行左侧的流水线标题,进入该流水线的主页面后,也可以点击主页面左上角的“编辑流水线”按钮,进入该流水线的编辑页面。如下图:

流水线配置

在该流水线的编辑页面,可配置如下内容:

  • 流水线名称。
  • 流水线的管理员。仅管理员可编辑流水线。新建流水线时,当前用户被设为管理员。
  • 监听设置。其中,自动触发是指,在源代码的修改被推送到服务器端代码库指定分支时,触发流水线运行。另外,配置为自动触发或定时触发后,在流水线主页也仍然可以手工触发流水线执行。
  • 流水线各阶段的添加、修改与删除。详见下节。

流水线删除功能待上线。

阶段的添加、修改与删除

在流水线编辑页面的中间部分,显示流水线各阶段。当把鼠标移动到两阶段之间的连线时,页面显示两阶段间的加号图标(下图中红色框),和一个阶段的删除图标(下图中黄色框)。点击可分别新建阶段或删除一个已有阶段。

流水线的添加和删除

要想修改一个阶段,请用鼠标选中该阶段。于是下方将显示该阶段详情,可进行该阶段任务的添加、修改和删除,详见下一节。另外,阶段的名称也是可以修改的,只需再显示阶段名称的地方编辑即可。

任务的添加、修改与删除

选中一个阶段后,在下方按顺序显示该阶段的各已有任务,同时可以添加任务:

任务配置

点击“+添加任务”,可以添加一个新任务。其中第一步是选择新任务的类型:任务类型

选中一个已有任务,在任务条目右侧,将展开该任务的配置,进而可以填写和修改。不同任务类型,其配置内容是不一样的。但通常有如下两项:

  • 任务类型。这一项是在新建任务时确定的,不可修改。
  • 任务名称。在流水线编辑时和运行时,都将显示该字段,标识这个任务节点。

点击每个已有任务上的删除图标,将删除该任务。

当前可选任务类型

构建

构建打包,供部署使用。这部分相关知识较多,请从构建概述读起。其中,流水线上构建任务的配置和运行,详见这里

构建

自定义脚本

如果您有比较定制化的需求(比如向使用自定义脚本发布静态资源 ,或者执行一些定时任务),那么您可以使用自定义脚本。详见这里自定义脚本

部署

把构建成果部署到服务器运行。这部分相关知识较多,请从应用部署概述读起。其中,流水线上部署任务的配置和运行,详见这里

部署

人工卡点

需要人工判断是否OK的任务。在流水线运行时,需要处理人到页面点击是否OK。这类任务可以用来作为流水线上人工测试、安全审核等流程卡点。

人工卡点

其中,处理人可以配置为具体人员(可多个),也可以配置为流水线所关联应用上的角色(仅可选一个)。

单元测试

自动运行一行命令,看是否能成功。

单元测试

合并主干

您可以使用该组件将某个分支合并到主干(master),如下图所示:

合并主干

系统账户

默认情况下,流水线上的与代码有关的操作(如clone,pull,push等)使用的都是当前操作人的权限。但对于合并主干的场景,不适合使用当前操作人权限。比如很多开发团队会把主干设置为保护分支,大部分开发人员没有权限进行代码push。对于这种情况,云效提供了系统账户作为解决方案。您可以在企业设置->代码托管中配置该账户。

设置系统账号之后,当企业内新建代码组时,本账号将自动成为该代码组的owner。对于已存在的代码组,请自行保证其有拥有相关权限(比如,更改系统账户时,需要手动对已存在代码组进行owner组权限赋权)。

合并主干异常排查方法

如果合并主干出现了异常,请按照如下方式进行排查。

  1. 确认当前企业是否配置了系统账户
  2. 配置了系统账户时,请查看当前系统账户,是否拥有当前操作代码组的owner权限。如果没有请赋权。赋权之后,进行重试操作。
  3. 未配置系统账户时,如果clone失败,请确认当前操作人拥有当前代码库权限;如果push失败,请确认当前操作人拥有当前代码库master权限或当前代码组owner权限。如果没有,请赋权之后进行重试,或者请拥有相应权限的用户进行重试操作。
本文导读目录