云服务器内容精选

  • 流水线参数使用示例 本文以通过流水线统一配置releaseversion参数并传递到构建任务为例,介绍流水线参数使用方法。 新建构建任务。 在“参数设置”页面添加releaseversion参数并设置好默认值,打开“运行时设置”。 图3 新建构建任务参数 在“构建步骤”页面,选择“上传软件包到软件发布库”,将“发布版本号”配置成引用参数形式。在参数输入框输入“$”符号后会自动出现参数列表,选择上一步已经新建好的releaseversion参数。 图4 引用构建任务参数 使用“$”符号引用通用参数组的参数时不会自动生成提示。 配置完成后,保存构建任务。 新建空白模板流水线,在流水线阶段添加一个新的任务,然后在该任务中添加“Build构建”插件并调用刚创建的构建任务,即可看到刚新建好的构建任务参数releaseversion。 图5 配置构建任务参数 将鼠标移动到releaseversion参数上,可以一键将该参数设置为流水线参数并能直接引用该参数;或直接单击“确定”,然后切换到流水线“参数设置”页面,新建流水线参数releaseversion,类型可以根据需求选择自增长或字符串等,设置默认值并打开运行时设置。 图6 新建流水线参数 再切回到流水线“任务编排”页面,编辑刚添加的构建任务,将流水线的releaseversion参数通过“$”符号引用到构建任务的releaseversion参数内。 图7 引用流水线参数 该处只显示构建任务中开启“运行时设置”的文本类型参数。 鼠标移至参数名称,可以快速将该参数设置为流水线参数并能直接引用该参数。 完成参数引用后,保存信息,然后单击“保存并执行”,弹出“执行配置”侧滑框,可查看“运行参数配置”。 运行时参数值默认为添加参数时为参数设置的默认值,可根据需要进行修改。流水线运行时在构建任务内使用的就是此时输入的参数值。 设置完参数,单击“执行”,开始使用配置的参数执行流水线。
  • 配置流水线自定义参数 介绍流水线自定义参数新建和配置。 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“参数设置”页面。 单击参数列表下的“立即新建”(已存在自定义参数,则单击“新建参数”),填写参数信息。 表2 流水线自定义参数说明 参数信息 说明 名称 自定义参数名称。支持大小写英文字母、数字、“_”,长度不超过128个字符。 说明: 自定义参数名称不可与系统预定义参数名称相同。 类型 参数可选类型:字符串(默认类型)、自增长、枚举。 默认值 自定义参数的默认取值。 字符串:长度不超过8192个字符。 自增长:长度不超过8192个字符。 说明: 自增长类型参数如果被引用,全新执行一次后,下次执行时参数值末位如果是数字则会自动+1。 枚举:仅支持中文、大小写英文字母、数字、“-”、“_”、“,”、“.”、“/”,长度不超过8192个字符。 选择枚举类型后,在弹出的对话框中添加可选取值,添加完成后在“默认值”下拉框中选择一个默认值,再次单击“枚举”类型,可修改可选取值。 私密参数 参数为私密参数时,系统会将输入参数做加密存储,使用时解密,同时在运行日志里不可见。 运行时设置 打开“运行时设置”开关,在执行流水线时支持修改该参数的值。 参数描述 不超过512个字符。 最多可以新建100个自定义参数。 单击“操作”列,可以新增参数;单击“操作”列,可以删除参数。 配置完成后,保存流水线。
  • 流水线系统预定义参数 表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)。
  • 配置流水线并发策略 默认单条流水线最大执行并发数为5,超过并发数后新的触发忽略不执行。可以通过并发策略为单条流水线配置同时处于运行中和暂停状态的流水线最大实例个数,即并发数,更细粒度地为用户分配并发资源。 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“执行计划”页面。 打开“并发策略”开关,设置并发数和超过并发后执行策略。 图5 配置并发策略 表2 配置并发策略 参数项 说明 并发个数 单条流水线最大执行并发数,受套餐和购买并发数限制。 超过并发后执行策略 超过并发数后可选择如下两种处理方式: 排队等待:超过并发数后新的触发排队等待执行,可进入流水线详情页查看排队记录。 单条流水线最多支持100条排队记录。 单条排队记录排队时长超过24小时后会被放弃执行。 排队记录支持手动取消排队,即放弃执行。 排队记录执行时,配置信息以入队时为准。 忽略不执行:超过并发数后新的触发忽略不执行。 配置完成后,保存流水线。
  • 配置流水线事件触发 事件触发包括代码提交时触发、合并请求时触发、创建标签时触发。码云代码仓还支持Pull Request、新建issue、评论issue等其他事件。 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“执行计划”页面,在“事件触发”勾选触发事件进行配置。 代码提交时触发(代码托管/码云) 监听代码提交触发事件,可以组合分支和具体路径的包含/排除范围,当在关联的代码仓库中有代码提交且所在的分支和变更文件的路径满足包含/排除策略,会自动触发关联流水线执行。 分支过滤:可以通过设置包含或排除分支,来监听触发事件所在的目标分支。 路径过滤:可以通过设置包含或排除路径,来监听触发事件所在的变更文件路径。 图1 配置代码提交时触发 合并请求时触发(代码托管/码云) 监听合并请求触发事件,可以组合分支和具体路径的包含/排除范围,对新建、合并、更新和重新打开事件设置触发策略,当在关联的代码仓库中触发合并请求事件且分支满足包含/排除策略,会自动触发关联流水线执行。 事件说明: 新建:合并请求创建时触发。 合并:合并请求合入时触发,该事件会同时触发代码提交事件。 重新打开:合并请求重新打开时触发。 更新:合并请求内容更新、设置更新或者源代码更新时触发,打开“仅代码更新触发”,则仅源代码更新时触发。 分支说明: 分支过滤:可以通过设置包含或排除分支,来监听触发事件所在的目标分支。 路径过滤:可以通过设置包含或排除路径,来监听触发事件所在的变更文件路径。 图2 配置合并请求时触发 创建标签时触发(代码托管) 监听创建标签触发事件,可以设置标签包含/排除范围,当在关联的代码仓库创建标签且满足标签包含/排除策略,会自动触发关联流水线执行。 图3 配置创建标签时触发 其他事件(码云) 评论Pull Request:评论Pull Request时触发流水线执行。 新建issue:新建issue时触发流水线运行。 评论issue:评论issue时触发流水线运行。 除了上述事件外,码云代码仓还支持开启事件触发成功后自动评论。 先匹配分支,再匹配路径,都匹配成功,则触发流水线。 路径排除优先于路径包含,即先匹配排除的路径,如果变更文件没有全部在排除范围内,则继续匹配包含的路径。若未配置包含路径,则匹配成功,触发流水线;若配置了包含路径,并且变更文件在路径排除范围外有任意一个在包含范围内,则匹配成功,触发流水线。 标签排除优先于标签包含,即标签同时在包含和排除中时,则匹配失败,不触发流水线。 路径匹配范围:单次提交的前300个变更文件,变更文件数超过300建议拆分。 配置完成后,保存流水线。
  • 配置流水线定时执行 配置流水线在指定的时间自动执行。 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“执行计划”页面。 单击“定时任务”区域的“创建定时任务”,增加一个定时任务,打开“启用定时执行”开关(默认开启),配置如下信息: 图4 配置定时任务 表1 定时任务 参数项 说明 执行日 选择执行日期。 时间段 选择执行时间段和时区。 间隔时间 设置间隔时间,即每间隔多长时间触发一次。 最多可以设置10个定时任务。 单击右上角,可删除定时任务;单击右上角,可复制定时任务。 配置完成后,保存流水线。
  • 自定义参数配置 登录流水线。 搜索目标流水线,单击“操作”列,选择“编辑”。 进入“任务编排”页面,切换至“参数设置”页面。 参数列表说明如下: 基本信息 说明 立即新建 单击参数列表处的“立即新建”,可以新增参数。 名称 参数名称。可自定义修改参数名称。 说明: 自定义参数名称不可与系统预定义参数名称相同。 类型 参数可选类型,包括:字符串类型、枚举类型、自增长类型。 默认值 根据需要填写/选择参数值。 私密参数 参数为私密参数时,系统会将输入参数做加密存储,使用时进行解密,同时在运行日志里不可见。 运行时设置 打开“运行时设置”开关,在执行流水线时支持修改该参数的值。 参数描述 参数的说明。 删除 单击参数所在行,可以删除该参数。 根据需要新建并配置参数。 单击参数列表下的“立即创建”,新增一个新的参数,请根据需要自定义参数名称、类型(默认为“字符串类型”)、参数值,设置私密参数或运行时设置等。 字符串类型 参数值为字符串,可在“默认值”列自定义参数值、设置为私密参数或运行时设置等。 枚举类型 选中枚举类型后弹出“枚举参数”对话框,可以设置“可选取值”。 设置完成后,单击“默认值”下拉框,在下拉列表选择其中一个值,再次单击“枚举”类型,可修改可选取值。 自增长类型 参数值为字符串,默认值为“1.0.0”。该参数如果被流水线某个任务引用,每全新执行一次流水线后,下次执行时该参数值末位数字会自动加1。 自增长类型参数值如果不是以数字结尾,执行后就不会自动增长。
  • env context env context包含流水线运行的自定义参数相关的信息。 名称 类型 说明 name string 自定义参数名称。 value string 自定义参数值。 内容示例 如下示例为流水线一次运行包含的env context信息,包含了两个自定义参数。 { "var_1": "val1", "var_2": "val2" } 使用示例 如需要在某个任务的输入中获取本次流水线运行的自定义参数“var_1”的值,可使用如下语法来获取。 ${{ env.var_1 }}
  • 使用场景 大部分上下文可在流水线任意任务和步骤中使用。 在任务的执行条件中引用上下文,来指定某个任务的执行条件。 示例:如下使用表示任务在指定代码源的运行分支为“master”时才运行。 ${{ sources.my_repo.target_branch == 'master' }} 在任务的输入框中引用上下文获取信息。 示例1:如下使用表示获取流水线运行的所有信息。 ${{ pipeline }} 示例2:如下使用表示获取流水线运行的触发方式。 ${{ pipeline.trigger_type }}
  • pipeline context pipeline context包含流水线运行相关的信息。 名称 类型 说明 pipeline object 流水线运行相关的所有信息,此对象包含的属性包括:project_id、pipeline_id、run_number、timestamp、trigger_type和run_id。 pipeline.project_id string 当前流水线所属项目ID,同现有系统预定义参数PROJECT_ID。 pipeline.pipeline_id string 当前流水线ID,同现有系统预定义参数PIPELINE_ID。 pipeline.run_number string 流水线执行编号,同现有系统预定义参数PIPELINE_NUMBER。 pipeline.timestamp string 流水线执行时间戳,同现有系统预定义参数TIMESTAMP。如:20211222124301。 pipeline.trigger_type string 流水线触发类型,同现有系统预定义参数PIPELINE_TRIGGER_TYPE。 pipeline.run_id string 流水线执行ID,同现有系统预定义参数PIPELINE_RUN_ID。 内容示例 如下示例为一次手动运行的流水线包含的pipeline context信息。 { "project_id": "6428c2e2b4b64affa14ec80896695c49", "pipeline_id": "f9981060660249a3856f46c2c402f244", "run_number": "168", "timestamp": "20231016000004", "trigger_type": "Manual", "run_id": "c2f507f93510459190b543e47f6c9bec" } 使用示例 如需在某个任务的输入中获取本次流水线运行的触发方式,可使用如下语法来获取。 ${{ pipeline.trigger_type }}