云服务器内容精选

  • 配置流水线权限 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“权限管理”页面,关闭“使用项目权限配置”,即可为流水线配置角色权限和人员权限。 配置角色权限 通过勾选/取消勾选,指定角色对当前流水线的查看、执行、编辑、删除操作权限。 图1 配置角色权限 配置人员权限 通过勾选/取消勾选,指定人员对当前流水线的查看、执行、编辑、删除操作权限。 图2 配置人员权限
  • Webhook触发 通过Webhook触发,用户可以通过任意第三方系统触发流水线执行。 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“执行计划”页面。 打开“Webhook”开关(默认关闭),参数说明如表2,保存流水线后即可生效。 图5 配置Webhook触发 表2 配置Webhook触发 参数项 说明 Webhook触发源 将该地址复制到第三方系统触发器,使用Post方法调用,即可运行流水线。 IAM 认证 启用IAM认证,需要将用户IAM Token加入接口请求头,调用示例如下: curl --header "Content-Type: application/json" --header 'x-auth-token: XXXX(IAM Token)' --request POST --data "{}" Webhook触发源 不启用IAM认证,调用示例如下: curl --header "Content-Type: application/json" --request POST --data "{}" Webhook触发源
  • 配置流水线并发策略 默认单条流水线最大执行并发数为5,超过并发数后新的触发忽略不执行。可以通过并发策略为单条流水线配置同时处于运行中和暂停状态的流水线最大实例个数,即并发数,更细粒度地为用户分配并发资源。 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“执行计划”页面。 打开“并发策略”开关(默认关闭),设置并发数和超过并发后执行策略。 图6 配置并发策略 表3 配置并发策略 参数项 说明 并发个数 单条流水线最大执行并发数,受套餐和购买并发数限制。 超过并发后执行策略 超过并发数后可选择如下两种处理方式: 排队等待:超过并发数后新的触发排队等待执行,可进入流水线详情页查看排队记录。 单条流水线最多支持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 }}