华为云用户手册

  • 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触发源
  • 配置流水线抢占策略 同一条流水线存在多个运行实例时,新触发的运行实例会强行停止当前流水线中相同事件触发的其他所有运行实例。 访问CodeArts Pipeline首页。 在流水线列表页搜索目标流水线,单击操作列,选择“编辑”。 进入流水线“任务编排”页面,切换至“执行计划”页面。 打开“抢占策略”开关,选择抢占事件,保存流水线后即可生效。 图7 配置抢占策略 抢占策略当前只支持CodeArts Repo流水线源。 当前仅支持“MR ID”抢占事件,即抢占由同一个MR触发的流水线运行实例。 抢占事件触发后,将会停止当前流水线中满足抢占条件的所有运行中的流水线实例。 若当前流水线超并发,且不存在满足抢占条件的运行实例,则此次执行请求会按照并发策略来忽略或排队。
  • 配置流水线并发策略 默认单条流水线最大执行并发数为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首页。 流水线统计看板页展示了流水线数据的统计情况。 表1 流水线统计看板 参数项 说明 流水线总览 流水线总数。 执行情况 流水线执行成功率和执行次数,可查看指定时间内流水线的成功率和执行次数。 并发队列情况 流水线执行排队实例数和执行并发总数,单击执行排队总数右侧,弹出“执行排队实例数”侧滑框,可查看执行排队实例数的流水线和触发信息,单击执行并发总数右侧,弹出“执行并发实例数”侧滑框,可查看执行并发实例数的名称、执行信息、触发方式和执行时间。 项目流水线数量 各项目下的流水线的数量,单击项目名称可进入对应的流水线界面。 项目执行情况总览 各项目下流水线的执行成功率和执行次数,可查看指定时间内的流水线的信息,单击项目名称可进入对应的流水线界面。 项目队列情况总览 各项目下流水线的执行排队实例数和执行并发数。
  • str_isprintable 判断字符串中是否所有字符都是可打印字符。 函数格式 str_isprintable(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "key": "@#11!" } 加工规则 e_set("str_isprintable", str_isprintable(v("key"))) 加工结果 key: @#11! str_isprintable: true
  • str_isspace 判断字符串是否仅由空格字符组成。 函数格式 str_isspace(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "key": "@#11!" } 加工规则 e_set("str_isspace", str_isspace(v("key"))) 加工结果 key: @#11! str_isspace: truefalse
  • str_istitle 判断字符串中所有单词的拼写首字母是否为大写,且其他字母为小写。 函数格式 str_istitle(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "key":"Lts Is A Log Service" } 加工规则 e_set("str_istitle", str_istitle(v("key"))) 加工结果 key: Lts Is A Log Service str_istitle: true
  • str_isupper 判断字符串中所有的字母是否都为大写。 函数格式 str_isupper(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "key":"LTS" } 加工规则 e_set("str_isupper", str_istitle(v("key"))) 加工结果 key: LTS str_isupper: true
  • str_uuid 随机生成UUID。 函数格式 str_uuid(lower=true) 参数说明 参数名称 参数类型 是否必填 说明 lower Boolean 否 生成的UUID中的字母是否是小写。默认为true表示小写。 返回结果 true/false。 函数示例 测试数据:无 加工规则 e_set("UUID", str_uuid()) 加工结果 UUID: 1acf7e1d-5a6b-4267-b7c1-874c8b70745d
  • str_isnumeric 判断字符串是否由数字组成。 函数格式 str_isnumeric(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "key": "123W" } 加工规则 e_set("str_isnumeric", str_isnumeric(v("key"))) 加工结果 key: 123W str_isnumeric: false
  • str_isascii 判断字符串是否在ASCII中。 函数格式 str_isascii(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "value": "{ltsv5}#@" } 加工规则 e_set("str_isascii", str_isascii(v("value"))) 加工结果 value: {ltsv5}#@ str_isascii: true
  • str_isdigit 判断字符串是否仅由数字组成。 函数格式 str_isdigit(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "value": "111" } 加工规则 e_set("str_isdigit", str_isdigit(v("value"))) 加工结果 value: 111 str_isdigit: true
  • str_isdecimal 判断字符串是否仅包含十进制字符。 函数格式 str_isdecimal(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "value": "111" } 加工规则 e_set("str_isdecimal", str_isdecimal(v("value"))) 加工结果 value: 111 str_isdecimal: true
  • str_isidentifier 字符串是否是有效的Python标识符,也可以用来判断变量名是否合法。 函数格式 str_isidentifier(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "key": "int" } 加工规则 e_set("str_isidentifier", str_isidentifier(v("key"))) 加工结果 key: int str_isidentifier: true
  • str_islower 判断字符串是否由小写字母组成。 函数格式 str_islower(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "key": "lower" } 加工规则 e_set("str_islower", str_islower(v("key"))) 加工结果 key: lower str_islower: true
  • str_isalnum 判断字符串是否仅由字母和数字组成。 函数格式 str_isalnum(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串。 返回结果 true/false。 函数示例 测试数据 { "value": "ltsv5" } 加工规则 e_set("str_isalnum", str_isalnum(v("value"))) 加工结果 value: ltsv5 str_isalnum: true
  • str_isalpha 判断字符串是否仅由字母组成。 函数格式 str_isalpha(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被检测的字符串 返回结果 true/false。 函数示例 测试数据 { "value": "ltsv5" } 加工规则 e_set("str_isalpha", str_isalpha(v("value"))) 加工结果 value: ltsv5 str_isalpha: false
  • str_rstrip 删除字符串结尾指定的字符。 函数格式 str_rstrip(value, chars) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被修改的原字符串。 chars 任意(自动转为String) 否 字符串结尾需要删除的字符集,默认为空格。 返回结果 修改后的字符串。 函数示例 测试数据:无 加工规则 e_set("str_strip", str_rstrip("**123**", "*")) 加工结果 str_strip: 123**
  • str_swapcase 对字符串的大小写字母进行转换。 函数格式 str_swapcase(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "name": "this is lts" } 加工规则 e_set("str_swapcase", str_swapcase(v("name"))) 加工结果 name: this is lts str_swapcase: THIS IS LTS
  • str_lower 将字符串中所有大写字符转换为小写字符。 函数格式 str_lower(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "name": "LTs" } 加工规则 e_set("str_lower", str_lower(v("name"))) 加工结果 name: LTs str_lower: lts
  • str_capitalize 将字符串的第一个字母转化为大写,其他字母转化为小写。 函数格式 str_capitalize(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "value": "welcome to xian" } 加工规则 e_set("str_capitalize", str_capitalize(v("value"))) 加工结果 value:welcome to xian str_capitalize: Welcome to xian
  • str_upper 将字符串中所有小写字符转换为大写字符。 函数格式 str_upper(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "name": "LTs" } 加工规则 e_set("str_upper", str_upper(v("name"))) 加工结果 name: LTs str_upper: LTS
  • str_title 将所有单词的第一个字母转化为大写,其余字母均为小写。 函数格式 str_title(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "name": "for example" } 加工规则 e_set("str_title", str_title(v("name"))) 加工结果 name:for example example str_title: For Exampl
  • str_lstrip 删除字符串开头指定的字符。 函数格式 str_lstrip(value, chars) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被修改的原字符串。 chars 任意(自动转为String) 否 字符串开头需要删除的字符集,默认为空格。 返回结果 修改后的字符串。 函数示例 测试数据:无 加工规则 e_set("str_strip", str_lstrip("**123**", "*")) 加工结果 str_strip: 123**
  • str_strip 删除字符串中指定的字符。 函数格式 str_strip(value, chars) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被修改的原字符串。 chars 任意(自动转为String) 否 字符串开头和结尾需要删除的字符集,默认为\t\r\n。 返回结果 修改后的字符串。 函数示例 示例1:删除空格。 测试数据 { "source":" lts" } 加工规则 e_set("str_strip", str_strip(v("source"))) 加工结果 source: lts str_strip: lts 示例2:删除开头和结尾是#的字符。 测试数据 { "source": "##lts#" } 加工规则 e_set("str_strip", str_strip(v("source"), "#")) 加工结果 source: ##lts# str_strip: lts
  • 设置tag字段 设置结构化配置时,可以对日志维度信息进行tag字段设置。设置完成后可以在 日志分析 页面对设置字段进行SQL查询。 在字段提取步骤中,选择“tag字段”页签,单击“添加字段”。 图1 添加tag字段 在tag字段列表中,输入需要设置 tag“字段名称”,例如hostIP。 tag字段功能上线前,已设置的结构化配置,在修改结构化配置进行tag字段设置时,系统tag不会带出示例字段。 如需添加多个字段可单击“添加字段”,继续添加。 设置完成后,单击“保存”。 tag支持的系统字段包括:category、clusterId、clusterName、containerName、hostIP、hostId、hostName、nameSpace、pathFile、podName。 tag不支持的系统字段包括:groupName、logStream、lineNum、content、logContent、logContentSize、collectTime。 日志提取字段和tag字段可以同时设置。
  • 设置云端结构化字段 在进行结构化配置字段提取之后,可对结构化字段进行设置,详细请参考表1。 表1 结构化字段设置规则 日志提取方式 字段名称 字段类型是否可修改 字段是否可删除 正则分析(自动生成) 用户自定义。 名称必须以字母开始,且仅包含字母和数字。 是 是 正则分析(手动输入) 支持在输入正则表达式时进行命名。 支持使用系统默认命名field1、field2、field3等。 是 是 JSON格式 智能提取字段名称,可定义别名。 是 是 分隔符 默认名称field1、field2、field3……,可进行修改。 是 是 Nginx 根据Nginx配置生成,可定义别名。 是 是 自定义模板 用户自定义。 是 是 正则分析(手动输入)、JSON格式、分隔符、Nginx和自定义模板的字段名称需要满足如下要求: 只支持输入英文、数字、中划线、下划线及小数点,不能包含双下划线、下划线加点且不能以小数点开头或结尾。长度为1-64个字符。
  • str_sort 函数格式 str_sort(value, reverse=false) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被排序的原字符串。 reverse Boolean 否 默认为false,表示升序排列。 返回结果 排序后的字符串。 函数示例 测试数据 { "key1": "value" } 加工规则 e_set("str_sort", str_sort(v("key1"))) 加工结果 key1: value str_sort: aeluv
  • str_replace 函数格式 str_replace(value, old, new, count) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被替换的值。 old 任意(自动转为String) 是 需要被替换的字符串。 new 任意(自动转为String) 是 替换后新的字符串。 count Number 否 替换次数,可选项。如果不设置count,则表示替换所有。 返回结果 替换后的新字符串。 函数示例 测试数据:无 加工规则 e_set("str_replace", str_replace("this is string example", "is", "was")) 加工结果 str_replace: thwas was string example
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全