云服务器内容精选
-
操作场景 服务扩展点是CodeArts的一种扩展插件,为CodeArts提供连接第三方服务的能力。 当CodeArts中的一些任务需要连接到远程第三方服务,进行一些获取数据操作时,例如连接第三方GitHub仓库获取项目源码、连接第三方Jenkins服务执行Jenkins任务等,可以通过新建扩展点来实现与相应服务的连接。 CodeArts支持以下扩展点。 表1 服务扩展点 类型 使用场景 Docker repository 用于连接Docker镜像仓库,连接成功后可以通过部署服获取仓库中的Docker镜像。 Jenkins 用于连接Jenkins服务,连接成功后可以在流水线中调用并执行Jenkins服务中所包含的任务。 Kubernetes 用于连接Kubernetes集群,连接成功后可对Kubernetes集群下发部署任务。 nexus repository 用于连接第三方私有Maven仓库,连接成功后可以通过构建任务获取该仓库中文件信息。 通用Git 用于连接第三方Git仓库,连接成功后可以在流水线、构建等服务中获取该仓库的分支等信息。 码云Git 用于连接码云Git账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。 GitHub 用于连接Github账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。 IAM 账户 用于委托自己账号的AK/SK给需要执行任务的账号,在该账号执行部署任务的时候可以通过AK/SK获得被委托的账号的token执行更高权限的任务。 CodeArts Repo HTTPS 用于授权CodeArts服务对托管的Repo仓库进行代码下载、分支创建、分支合并、代码提交等操作。当前主要用于流水线服务的微服务变更功能模块及其相关插件。 Gerrit 用于连接第三方Gerrit仓库,连接成功后可以在流水线、构建等服务中获取该仓库代码。 GitCode 用于连接GitCode账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。
-
YAML语法规范 快速上手语法示例 流水线串联编译构建任务、代码检查任务、部署任务,并在编译构建任务中引用流水线参数。 env: # 以键值对的形式定义环境变量,定义后可在流水线的任意任务中引用 image_version: 1.0.0 jobs: # 定义组成流水线的任务 build: # 任务ID,定义任务的唯一标识 name: maven build # 任务的名称,在图形化界面中会展示该名称 steps: # 定义组成任务的步骤 - name: My build step # 步骤的名称,在图形化界面中会展示该名称 uses: CodeArtsBuild # 指定步骤运行的插件 with: # 以键值对的形式定义插件的运行参数,可引用env中定义的变量。 jobId: 878b4d13cb284d9e8f33f988a902f57c # 进入对应任务页面,获取浏览器地址后面的随机数字,即当前任务的jobId artifactIdentifier: my_image version: ${{ env.image_version }} check: name: code check steps: - name: My check step uses: CodeArtsCheck with: jobId: 43885d46e13d4bf583d3a648e9b39d1e checkMode: full deploy: name: cce deploy needs: # 使任务在指定的任务结束后才开始运行 - build - check if: ${{ completed() }} # 指定任务的运行条件 steps: - name: My deploy step uses: CodeArtsDeploy with: jobId: 9c5a5cda6ffa4ab583380f5a014b2b31 version: ${{ env.image_version }}
-
代码化新建流水线 访问CodeArts Pipeline首页。 单击“新建流水线”,进入“基本信息”页面,参考表1配置流水线基本信息。 表1 流水线基本信息参数说明 参数项 说明 名称 流水线的名称,自定义。支持中文、大小写英文字母、数字、“-”、“_”,长度不超过128个字符。 所属项目 流水线归属项目。 从流水线服务首页入口新建流水线,请根据实际需要选择已创建的项目。 从项目下流水线入口新建流水线,所属项目默认为当前项目,不可更改。 代码源 选择“Repo”:即CodeArts Repo,提供企业代码托管的全方位服务,为软件开发者提供基于Git的在线 代码托管服务 。 说明: 代码化流水线仅支持使用CodeArts Repo代码仓。 创建方式 选择“YAML化编排”:以代码化YAML方式编排流水线,支持语法自动补齐和校验,方便多流水线批量配置。 代码仓 流水线关联的代码仓库。 默认分支 仓库默认分支,手工或定时执行流水线时默认使用的分支。 配置方式 新建yaml文件:创建一个新的YAML文件。 已有yaml文件:基于已有YAML文件进行编排,编排后的内容会覆盖原YAML文件。YAML文件编写请参考YAML语法规范。 选择yaml文件 配置方式选择“已有yaml文件”时,需设置此参数。 选择提前准备好并存储在代码仓库的YAML文件:选择对应分支并输入YAML文件的相对路径。 Repo HTTPS授权 配置授权扩展点以提升代码库操作权限,当前主要用于流水线服务的微服务变更功能模块及其相关插件。可选择准备工作中提前创建的扩展点,也可单击“新建授权”进行创建,具体操作请参考新建CodeArts服务扩展点。 别名 仓库别名,设置别名后可基于别名生成仓库对应的系统参数,如:“别名_REPOSITORY_NAME”,表示仓库名称。生成的参数可在参数设置页面查看,并在流水线中通过“${参数名}”进行引用。 描述 不超过1024个字符。 配置完基本信息,单击“确定”,进入“任务编排”页面。 左侧为YAML编辑区域,请参考YAML语法规范编写YAML。 右侧为流水线插件列表,请根据需要添加步骤yaml。 编排过程支持语法规范校验;单击“预览”,可切换至图形化界面预览效果。 编排完任务,单击“保存”,填写提交信息,选择推送分支。 选项一表示推送到已有分支:如果是“新建yaml文件”方式新建流水线,已有分支为默认分支;如果是基于“已有yaml文件”方式新建流水线,已有分支则为YAML文件所在的分支。 选项二表示推送到新分支:基于上述已有分支创建一个新分支,勾选“创建合并请求”,则会创建一个从新分支到已有分支的合并请求。 单击“确定”,完成流水线创建。
-
编排流水线任务 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,单击阶段下“新建任务”,弹出“新建任务”侧滑框。 单击任务下方的,可以添加一个和该任务串行编排的任务,即按顺序执行,如:构建任务和部署任务应该按顺序先后执行。 单击“并行任务”,可以添加一个和已有任务并行编排的任务,即同时执行,如:代码检查任务和构建任务可以同时执行。 为任务配置插件及任务信息,操作说明如下: 表1 配置任务 操作项 说明 添加插件 流水线插件分为构建插件、代码检查插件、部署插件、测试插件和通用插件5种类型,可以根据不同类型进行过滤或搜索,插件来源请参考管理流水线扩展插件。 将鼠标移动到插件卡片,单击“添加”,即可将插件添加到任务中,请根据需要配置插件相关信息: 填写插件名称。 选择需要调用的任务,如果找不到合适的任务,请根据界面提示新建任务。 如果调用的任务有参数,参数也会显示出来,请根据需要配置相应参数。 插件名称后有对应标记,单个任务中最多只能添加一个带“任务”标记的插件;带“草稿”标记的插件表示当前用户发布为草稿的自定义插件。 “挂起流水线”插件只能添加在不含并行任务的阶段中。 删除插件 将鼠标移动到已经添加的插件卡片,单击,选择“删除”,可以删除当前插件。 更换插件 将鼠标移动到已经添加的插件卡片,单击,选择“更换”,或者单击插件上方“更换插件”,可以返回插件列表,更换当前插件。 排序插件 单击插件卡片不松开,可以移动插件调整插件顺序。 任务配置 配置任务ID、执行主机和执行条件。 任务ID:。流水线阶段任务的ID,同一条流水线上的任务ID不能重复。支持大小写英文字母、数字、“-”、“_”,长度范围为1~128个字符。 执行主机:包括内置执行机和自定义执行机。 内置执行机:服务提供的执行主机,用户无需配置开箱即用。 自定义执行机:支持用户自行配置工具和运行环境,以满足不同任务的需求。选择自定义执行机需提前在资源池添加代理资源池,详细操作请参见资源池管理。 说明: 执行主机仅针对非任务级插件。 任务选择 必须选择:必须执行,执行流水线时该任务默认勾选且无法修改。 禁止选择:禁止执行,执行流水线时该任务禁止勾选。 默认选择:执行流水线时该任务默认勾选但可按需修改。 默认不选择:执行流水线时该任务默认不勾选但可按需修改。 执行条件:即流水线阶段任务执行时需要满足的前提条件,通过配置执行条件,可以控制阶段任务是否执行。 前置任务未选择仍执行:上一个任务状态执行成功或未选择,都继续执行当前任务。 前置任务成功时执行:上一个任务执行成功才执行当前任务。 前置任务失败时执行:上一个任务执行失败才执行当前任务。 始终执行:始终执行当前任务,上一个任务状态是失败、成功、中止或忽略执行,都继续执行当前任务。 表达式:当前置任务到达终态,包括:成功(COMPLETED)、失败(FAILED)、中止(CANCELED)、忽略执行(IGNORED),且表达式结果为“true”时,执行当前任务,否则不执行。表达式形式为“${{ }}”,由流水线上下文、操作符、函数或常量任意组合而成。表达式编写请参考流水线执行条件表达式。 示例: 在执行条件中定义不管前置任务(任务ID为“job_1”)运行成功或失败,均执行当前任务,表达式语法如下: ${{ jobs.job_1.status == 'COMPLETED' || jobs.job_1.status == 'FAILED' }} 配置完任务,单击“确定”,完成任务添加,可根据实际需要编辑、复制、删除、移动任务。 表2 管理任务 操作项 说明 编辑任务 单击任务卡片,可以编辑当前任务。 复制任务 将鼠标移动到任务卡片,单击,可以复制一个和该任务串行编排的任务。 删除任务 将鼠标移动到任务卡片,单击,根据删除提示确定是否删除任务。 排序任务 单击任务卡片不松开,可以移动任务调整任务顺序。 说明: 任务并行执行时不支持调整顺序。 任务编排完成后,保存流水线。
-
新建流水线 访问CodeArts Pipeline首页。 单击“新建流水线”,进入“基本信息”页面,参考表1配置流水线基本信息。 表1 流水线基本信息参数说明 参数项 说明 名称 流水线的名称,自定义。支持中文、大小写英文字母、数字、“-”、“_”,长度不超过128个字符。 所属项目 流水线归属项目。 从流水线服务首页入口新建流水线,请根据实际需要选择已创建的项目。 从项目下流水线入口新建流水线,所属项目默认为当前项目,不可更改。 代码源 流水线关联的代码源类型: CodeArts Repo代码源 Repo:提供企业代码托管的全方位服务,为软件开发者提供基于Git的在线代码托管服务。 非CodeArts的第三方代码源 码云:连接码云账号之后可以获取该账号下的仓库、分支等信息。 Github:连接Github账号后可以获取该账号下的仓库、分支等信息。 Gitcode:连接Gitcode账号后可以获取该账号下的仓库、分支等信息。 通用Git:连接第三方通用Git仓库后可以获取该账号下的仓库、分支等信息。 说明: GitCode流水线源当前仅支持“北京四”和“广州”局点白名单用户。如果您需要开通此功能,请新建工单或拨打客服热线进行咨询。 如果用户新建的流水线任务不需要关联代码仓,也可以选择“暂不选择”,不关联代码仓时,如果添加了需要关联代码仓的任务,执行时会提示错误,具体问题请参考常见问题。 服务扩展点 关联非CodeArts的第三方代码源时,需通过服务扩展点实现与对应仓库的连接。可选择准备工作中提前创建的扩展点,也可单击“新建服务扩展点”进行创建,具体操作请参考新建CodeArts服务扩展点。 代码仓 流水线关联的代码仓库。 默认分支 仓库默认分支,手工或定时执行流水线时默认使用的分支。 Repo HTTPS授权 关联Repo代码源时,可配置授权扩展点以提升代码库操作权限,当前主要用于流水线服务的微服务变更功能模块及其相关插件。可选择准备工作中提前创建的扩展点,也可单击“新建授权”进行创建,具体操作请参考新建CodeArts服务扩展点。 别名 仓库别名,设置别名后可基于别名生成仓库对应的系统参数,如:“别名_REPOSITORY_NAME”,表示仓库名称。生成的参数可在参数设置页面查看,并在流水线中通过“${参数名}”进行引用。 描述 不超过1024个字符。 配置完基本信息,单击“下一步”,进入“选择模板”页面。 您可以选择系统模板或自定义模板,在模板基础上快速新建流水线,并自动生成模板预置的任务,模板来源请参考管理流水线模板。 也可以选择“空模板”,即不使用模板,新建空任务流水线。 选择完模板,单击“确定”,完成流水线创建。 页面自动进入流水线“任务编排”页面,您可以继续配置流水线,也可以单击“取消”返回流水线列表。
-
处理方法 通过具有修改该流水线权限的账号登录流水线。 进入目标流水线权限管理页面,检查用户的流水线权限。 图1 流水线权限 人员权限优先级高于角色权限:默认情况下,用户修改角色权限后会自动同步人员权限;如果修改人员权限,则以人员权限为准。 若“角色权限配置”中该用户所属角色没有执行权限,则为该角色添加执行权限(此操作会导致是该角色的用户,对该条流水线都具有执行权限)。 若“角色权限配置”中该用户所属角色有执行权限,则在“人员权限配置”页签,为该用户添加执行权限。
-
新建变更流水线 访问CodeArts Pipeline首页,进入项目下流水线。 单击“微服务”,进入微服务列表页面。 单击微服务名称,进入微服务“概览”页面。 单击“流水线”,进入微服务流水线列表页面。 单击“新建流水线”,进入“基本信息 ”页面,配置相关参数。 表3 新建流水线 参数项 说明 所属项目 微服务所在的项目。 名称 流水线的名称,默认根据当前时间生成。支持中文、大小写英文字母、数字、“-”、“_”,长度不超过128个字符。 代码源 代码仓库来源,微服务下流水线仅支持Repo。 代码仓 微服务关联的代码仓库。 说明: 修改微服务的代码仓库,微服务下所有流水线配置的代码仓库会自动更改。 默认分支 微服务关联的默认分支。 说明: 修改微服务的默认分支,微服务下所有流水线配置的默认分支会自动更改。 Repo HTTPS授权 配置授权扩展点以提升代码库操作权限,主要用于微服务变更流水线和部分仓库操作插件。单击“新建授权”,可添加CodeArts Repo HTTPS服务扩展点,配置方法请参考新建CodeArts服务扩展点。 说明: 新建CodeArts Repo HTTPS服务扩展点时,如果用户名密码填写错误,会授权失败并导致流水线执行失败。具体问题请参考常见问题。 别名 仓库别名。支持大小写英文字母、数字、“_”,长度不超过128个字符。 设置别名后可生成仓库对应的系统参数,如:“别名_REPOSITORY_NAME”,表示仓库名称。生成的参数可在参数设置页面查看,并在流水线中通过“${参数名}”进行引用。 基于变更触发 开启“基于变更触发”开关的流水线即为变更流水线,在微服务流水线列表中,变更流水线会被标识为。 说明: 单个微服务下仅允许存在一条基于变更触发的流水线。 描述 长度不超过1024个字符。 单击“下一步”,进入“选择模板”页面,根据需要选择对应模板,在模板基础上快速新建任务;也可以选择“空白模板”,即不使用模板,直接新建。 单击“确定”,根据需要编排流水线,然后单击“保存”。
-
执行变更流水线 访问CodeArts Pipeline首页,进入项目下流水线。 单击“微服务”,进入微服务列表页面。 单击微服务名称,进入微服务“概览”页面。 单击“流水线”,进入微服务流水线列表页面。 单击流水线名称,进入流水线“执行历史”页面。 单击右上角“执行”,弹出“执行配置”侧滑框,进行如下配置。 图2 配置变更流水线执行信息 变更列表:变更列表展示阶段状态为“待发布”和“发布中”的变更,运行变更流水线时需要选择一个或多个变更。 运行参数配置:如果流水线配置了运行时参数,请根据需要设置参数值并保存,可参考流水线参数应用示例。 执行阶段配置:流水线支持选择任务执行,可以选择一个或多个,默认执行全部任务。 执行描述:填写本次运行的调试信息。 配置完成后,单击“执行”,进入变更流水线执行详情页面。 图3 执行变更流水线 变更流水线运行时会默认添加“合并集成分支”和“合并主干”阶段。 合并集成分支:变更流水线会自动从主干分支拉出一条新分支,并将本次运行变更的所有特性分支集成到该新分支,然后通过这条集成分支来运行流水线。 合并主干:将集成分支合并回主干分支。 执行完成后,可查看流水线执行结果。 变更流水线执行成功时,会将本次运行选择的所有变更状态改为“已发布”状态。 单击流水线名称,进入“流水线详情”页面 单击流水线源卡片的“查看更多”,弹出运行变更侧滑框,展示本次流水线运行时选择的变更信息。 单击列表内“变更标题”可以跳转到变更详情页面。 单击“发布列表”页签,切换到“发布列表”页面 发布列表页面展示所有阶段状态为“待发布”和“发布中”的变更。 列表支持在搜索栏中输入变更名称关键字进行搜索。 单击“操作”列,弹出“退出发布”对话框,单击“确认”会将变更退出变更流水线的发布列表,变更状态重置为“开发中”。 阶段状态为“发布中”的变更,如果变更流水线正在运行,则需要等待变更流水线运行完成或停止变更流水线后才可以退出发布。
-
新建流水线微服务 访问CodeArts Pipeline首页,进入项目下流水线。 单击“微服务”,进入微服务列表页面。 单击“新建微服务”,进入“新建微服务”页面,配置相关参数。 表1 新建微服务 参数项 说明 所属项目 微服务所在项目,不可更改。 微服务名称 微服务的名称。支持大小写英文字母、数字、“_”,不超过128个字符。 代码源 代码仓库来源,当前仅支持Repo。 说明: 可暂不选择代码源,微服务创建成功后,可根据需要通过单击微服务名称,进入微服务概览页再进行关联。 代码仓 微服务关联的代码仓库,选择已创建的代码仓库。 说明: 一个代码仓只能关联一个微服务。 默认分支 微服务关联的默认分支,执行微服务流水线时默认使用的分支。 说明: 变更流水线执行完成后,所有变更特性分支都将会合入默认分支。 语言 微服务的开发语言,支持Java、Python、Node.js、Go、.Net、C++、PHP。 描述 长度不超过1024个字符。 单击“确定”,完成微服务创建并进入微服务“概览”页。 概览页展示微服务的创建人、创建时间、代码源等信息,可修改微服务开发语言、关联的代码仓库和描述信息。 更换代码仓库时,如果微服务下存在没有关闭的变更或运行中的流水线,页面会弹出“数据处理”侧滑框,需先关闭所有变更并停止所有运行中的流水线。 返回微服务列表,可以查看已创建的微服务,列表项说明如下。 表2 微服务列表 列表项 说明 微服务 微服务的名称。 创建人 创建微服务的用户名。 创建时间 创建微服务的时间,将鼠标悬浮至“创建时间”列,单击,可以根据创建时间排序微服务。 状态 展示微服务当前状态信息,创建后会自动处于激活状态。 操作 单击可收藏该微服务,收藏成功后图标变为,再次单击可取消收藏;单击,可删除该微服务。 说明: 删除微服务,微服务内所有变更记录和流水线都将会被删除,请谨慎操作。 微服务列表展示项目下的所有微服务。 支持在搜索栏中输入微服务名称关键字进行搜索。
-
流水线参数应用示例 本文以通过流水线统一配置releaseversion参数并传递到构建任务为例,介绍流水线参数使用方法。 新建构建任务。 在“参数设置”页面添加releaseversion参数并设置好默认值,打开“运行时设置”。 图3 新建构建任务参数 在“构建步骤”页面,选择“上传软件包到软件发布库”,将“发布版本号”配置成引用参数形式。在参数输入框输入“$”符号后会自动出现参数列表,选择上一步已经新建好的releaseversion参数。 图4 引用构建任务参数 使用“$”符号引用通用参数组的参数时不会自动生成提示。 配置完成后,保存构建任务。 新建空白模板流水线,在流水线阶段添加一个新的任务,然后在该任务中添加“Build构建”插件并调用刚创建的构建任务,即可看到刚新建好的构建任务参数releaseversion。 图5 配置构建任务参数 将鼠标移动到releaseversion参数上,可以一键将该参数设置为流水线参数并能直接引用该参数;或直接单击“确定”,然后切换到流水线“参数设置”页面,新建流水线参数releaseversion,类型可以根据需求选择自增长或字符串等,设置默认值并打开运行时设置。 图6 新建流水线参数 再切回到流水线“任务编排”页面,编辑刚添加的构建任务,将流水线的releaseversion参数通过“$”符号引用到构建任务的releaseversion参数内。 图7 引用流水线参数 该处只显示构建任务中开启“运行时设置”的文本类型参数。 鼠标移至参数名称,可以快速将该参数设置为流水线参数并能直接引用该参数。 完成参数引用后,保存信息,然后单击“保存并执行”,弹出“执行配置”侧滑框,可查看“运行参数配置”。 运行时参数值默认为添加参数时为参数设置的默认值,可根据需要进行修改。流水线运行时在构建任务内使用的就是此时输入的参数值。 设置完参数,单击“执行”,开始使用配置的参数执行流水线。
-
流水线系统预定义参数 表1 流水线系统预定义参数 参数信息 说明 TIMESTAMP 流水线执行时间戳。例如:20211222124301。 PIPELINE_TRIGGER_TYPE 流水线触发类型。包括:Manual、Scheduler、RollBack以及WebHook类型(CreateTag、Note、Issue、MR、Push)。 PIPELINE_NAME 流水线名称。 REPO_URL 代码仓地址(HTTPS)。 EXECUTE_USER 执行人。 PASS_CONDITIONS_LINK 流水线执行详情链接。 PIPELINE_RUN_ID 流水线执行ID。 MERGE_ID 合并请求ID。 WEBHOOK_PAYLOAD Webhook请求负载信息。 Repo01_REPOSITORY_NAME 仓库名称。 Repo01_SOURCE_BRANCH 仓库运行源分支名称。 Repo01_TARGET_BRANCH 仓库运行目标分支名称。 Repo01_TAG 仓库标签名称。 Repo01_COMMIT_ID 执行时代码最后一次提交的ID。 Repo01_COMMIT_ID_SHORT 执行时代码最后一次提交的短ID Repo01_REPO_URL 代码仓地址(HTTPS)。
-
配置流水线自定义参数 介绍流水线自定义参数新建和配置。 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“参数设置”页面。 单击参数列表下的“立即新建”(已存在自定义参数,则单击“新建参数”),填写参数信息。 表2 流水线自定义参数说明 参数信息 说明 名称 自定义参数名称。支持大小写英文字母、数字、“_”,长度不超过128个字符。 说明: 自定义参数名称不可与系统预定义参数名称相同。 类型 参数可选类型:字符串(默认类型)、自增长、枚举。 默认值 自定义参数的默认取值。 字符串:长度不超过8192个字符。 自增长:长度不超过8192个字符。 说明: 自增长类型参数如果被引用,全新执行一次后,下次执行时参数值末位如果是数字则会自动+1。 枚举:仅支持中文、大小写英文字母、数字、“-”、“_”、“,”、“.”、“/”,长度不超过8192个字符。 选择枚举类型后,在弹出的对话框中添加可选取值,添加完成后在“默认值”下拉框中选择一个默认值,再次单击“枚举”类型,可修改可选取值。 私密参数 参数为私密参数时,系统会将输入参数做加密存储,使用时解密,同时在运行日志里不可见。 运行时设置 打开“运行时设置”开关,在执行流水线时支持修改该参数的值。 参数描述 不超过512个字符。 最多可以新建100个自定义参数。 单击“操作”列,可以新增参数;单击“操作”列,可以删除参数。 配置完成后,保存流水线。
-
应用示例1:流水线执行条件表达式 在流水线阶段任务的执行条件中通过表达式引用上下文,用以限制任务执行。表达式由流水线上下文、操作符、函数或常量组合而成,表达式以编程的方式访问流水线上下文,实现将流水线中运行的实例、变量、任务等信息在流水线之间互相传递。 图1 执行条件表达式 示例: 在执行条件中定义任务在指定代码源的运行分支为“master”时才运行,表达式语法如下: ${{ sources.my_repo.target_branch == 'master' }} 流水线上下文 操作符 表达式中可以使用如下操作符: 表1 操作符 操作符 说明 . 属性引用。如:${{ pipeline.trigger_type }},表示获取流水线的触发类型。 ! 非。如:${{ !startsWith(sources.my_repo.target_branch, 'release') }},表示判断流水线代码源的分支是否不以release开头。 == 等于。如:${{ pipeline.trigger_type == 'Manual' }},表示判断流水线的触发方式是否为手动触发。 != 不等于。如:${{ pipeline.trigger_type != 'Manual' }},表示判断流水线的触发方式是否不为手动触发。 && 且。如:${{ pipeline.trigger_type == 'Manual' && sources.my_repo.target_branch == 'master' }},表示判断流水线的触发方式为手动触发并且流水线代码源的分支为master。 || 或。如:${{ pipeline.trigger_type == 'Manual' || sources.my_repo.target_branch == 'master' }},表示判断流水线的触发方式为手动触发或者流水线代码源的分支为master。 函数 表达式中可使用如下内置函数: 表2 内置函数 函数 说明 contains 格式 contains(search, item) 含义 如果“search”包含“item”,则函数返回“true”。 如果“search”是一个数组,那么如果“item”是数组中的一个元素,则此函数返回“true”。 如果“search”是一个字符串,那么如果“item”是“search”的子字符串,则函数返回“true”。 示例 contains('abc', 'bc') ,函数将返回“true”。 startsWith 格式 startsWith(searchString, searchValue) 含义 如果“searchString ”以“searchValue”开始,则函数返回“true ”。 示例 startsWith('abc', 'ab'),函数将返回“true”。 endsWith 格式 endsWith(searchString, searchValue) 含义 如果“searchString”以“searchValue”结束,则函数返回“true”。 示例 endsWith('abc', 'bc'),函数将返回“true”。 对象筛选器 使用“*”语法应用筛选器并选择集合中的匹配项。 示例:如下是流水线某次运行的jobs上下文 { "check_job": { "status": "COMPLETED", "metrics": { "critical": "0", "major": "0" } }, "demo_job": { "status": "FAILED" } } 示例1:“jobs.*.status”,表示所有任务的状态,所以返回“[ 'COMPLETED', 'FAILED' ]”。 示例2:结合contains函数一起使用,如:contains(jobs.*.status, 'FAILED'),“jobs.*.status”中包含“FAILED”,所以返回“true”。 父主题: 流水线上下文
-
应用示例2:通过流水线上下文获取构建任务的产物信息 在任务的输入框中引用上下文获取信息:使用Build构建插件生成构建产物,并在后续阶段的“执行Shell”任务中引用,获取构建产物信息。 新建流水线。 在“阶段_1”添加“Build构建”插件,获取任务ID,如图1,并将构建产物标识设置为“demo”,如图2。 图1 获取任务ID 图2 Build构建插件 在“阶段_2”添加“执行Shell”插件,通过构建任务ID,结合流水线上下文,输入如下命令,即可获取构建产物的相关信息。 # 获取构建产物下载地址 echo ${{ jobs.JOB_xZGhF.artifacts.demo.download_url }} # 获取构建产物所有信息 echo ${{ jobs.JOB_xZGhF.artifacts.demo }} 图3 执行Shell 执行流水线,执行成功后即可在日志中查看打印的产物信息。 图4 查看产物信息 父主题: 流水线上下文
-
查看流水线 访问CodeArts Pipeline首页。 流水线列表页展示当前用户下的所有流水线,列表项说明如下: 参数项 说明 名称 流水线名称和流水线所属项目名称。 说明: 项目下流水线列表不显示项目名称。 最近一次执行 最近一次的执行信息:执行方式、分支、最近一次代码提交的CommitID、执行人。 工作流 流水线的调度流程及执行状态(已完成、失败、运行中、已停止等)。 开始时间&执行时长 最近一次执行开始时间和持续时长。 操作 单击,可执行流水线。 单击,可关注流水线,关注成功后图标变为,再次单击可取消关注。 说明: 收藏流水线后,刷新页面或下次进入流水线列表时,该流水线会在流水线列表中置顶显示,收藏多条流水线会按流水线最后一次执行时间降序排列,若未执行过,则按创建时间降序排列。 单击,可编辑流水线、复制流水线、预览流水线、查看流水线操作历史(记录新建记录、编辑记录以及触发失败记录)、为流水线设置标签、禁用流水线、删除流水线。 流水线任务列表默认所有用户均可以查看。 单击“全部流水线”的下拉框,可以根据“全部流水线”、“我新建的”及“最后一次记录由我执行的”进行过滤。 支持在搜索栏中输入流水线名称关键字进行搜索。 单击右上方,可根据需要自定义设置流水线列表信息。 单击流水线名称,进入流水线“执行历史”页面,展示流水线执行记录。 单击时间筛选器,可以选择时间段进行过滤,支持查看最近90天执行记录,默认展示最近31天的执行记录,支持最近7天、14天、31天、90天快捷切换。 首次执行时执行历史页面为空,执行一次后才有记录。 单击执行编号,进入“流水线详情”页面,查看对应执行记录详情。 表1 流水线详情页操作 操作项 说明 重试 如果任务执行失败,单击页面右上角“重试”,可从失败处继续执行流水线。 编辑 单击“编辑”,可修改流水线配置信息。 执行 单击“执行”,可以以最新的配置重新执行流水线,并生成一条新的执行纪录。 下载 单击页面上方产出信息,可下载通过流水线自动构建出来的构建包。 说明: 只有构建类型的任务才有构建包。 存在多个构建包时,单击“全部下载”,可以下载全部构建包。 只展示最新构建的10个包,如需下载其他构建包,请切换到发布库页面自行下载。 查看日志 单击任务卡片,可查看对应任务的任务日志和任务结果。 说明: “延时执行”和“挂起流水线”任务没有日志。 更多操作 单击页面右上角,可复制流水线、查看流水线操作历史、预览流水线、禁用流水线、删除流水线。 说明: 默认只有项目经理或创建者(项目创建者和流水线创建者)才可以删除流水线,可通过配置权限给不同角色添加不同操作权限。 切换到“排队列表”页,可查看流水线排队记录。 如果流水线配置了并发策略,且超过并发后执行策略为排队等待,在该页面可以查看排队等待执行的记录。 单条流水线最多支持100条排队记录。 单条排队记录排队时长超过24小时后会被放弃执行。 单击操作列,可手动取消排队记录,即放弃执行。 排队记录执行时,配置信息以入队时为准。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格