云服务器内容精选

  • 操作场景 服务扩展点是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语法 Build构建 调用编译构建能力进行构建。 uses: CodeArtsBuild with: jobId: 878b4d13cb284d9e8f33f988a902f57c artifactIdentifier: my_pkg customParam: value jobId:编译构建任务id。获取方法:在构建任务详情页,复制浏览器URL末尾的32位数字、字母组合的字符串,即为构建任务ID。 artifactIdentifier:构建产物标识。 customParam:在构建任务定义的支持运行时设置的参数值,可能有0到多个。 TestPlan接口测试 调用CodeArts TestPlan能力进行测试。 uses: CodeArtsTestPlan with: jobId: vb180000vnrgoeib environmentModel: 1 environmentId: 7c2eff2377584811b7981674900158e8 jobId:接口测试任务的id。 environmentModel:参数来源(0表示使用全新执行参数,1表示使用选中环境的全局参数)。 environmentId:environmentModel为1时的环境id。 Deploy部署 调用CodeArts Deploy能力进行部署。 uses: CodeArtsDeploy with: jobId: 9c5a5cda6ffa4ab583380f5a014b2b31 customParam: value jobId:部署任务的id。 customParam:在部署任务处定义的支持运行时设置的参数值,可能有0到多个。 Check代码检查 调用CodeArts Check能力进行代码检查。 uses: CodeArtsCheck with: jobId: 43885d46e13d4bf583d3a648e9b39d1e checkMode: full|push_inc_full||push_multi_inc_full jobId:代码检查任务的id。 checkMode:检查模式。 full:表示对本次commit所在分支的全量代码进行检查。 push_inc_full:表示对本次commit的变更文件内容进行检查。 push_multi_inc_full:表示对上一次检查成功的commit到本次commit之间的变更文件内容进行检查。 创建仓库标签 为代码仓创建标签并推送。 uses: CreateTag with: tagName: v1 tagName为标签名称。 子流水线 配置并调用项目下其他流水线任务。 uses: SubPipeline with: pipelineId: 80ea2d9ffba94c20b9a0a0be47d3a0d8 branch: master pipelineId:调用的流水线的id。 branch:子流水线运行使用的分支。 branch参数可以不定义,表示使用子流水线默认分支运行。 若定义branch参数则表示以指定的分支运行,可以引用参数或上下文,如:使用父流水线源的运行分支,假设代码源别名为“my_repo”,则引用形式为${{ sources.my_repo.target_branch }}。 Jenkins任务 调用Jenkins任务以扩展并实现自定义动作。 uses: Jenkins with: endpoint: eac965b206e74e2b898a24a4375b6df6 jobName: job params: '{ \"key\":\"value\" }' async: true|false description: description endpoint:jenkins扩展点的id。 jobName:jenkins的job名称。 params:启动任务传递的参数(json格式)。 async:是否异步执行。 description:执行说明。 挂起流水线 配置以挂起当前流水线。 uses: SuspendPipeline 延时执行 让流水线暂停运行一段时间或暂停至指定时间点,用户可以手动继续、终止流水线运行或进行最多3次的额外延时。 uses: Delay with: timerType: delay|scheduled delayTime: 300 scheduledTime: '00:00' timeZone: China Standard Time timerType:延时类型。delay表示延时一段时间;scheduled表示延时至指定时间。 delayTime:timerType为delay时的延时时间(单位为秒)。 scheduledTime:timerType为scheduled时的延时时间点。 timeZone:对应时区,可选值见下表。 表1 时区 可选值 时区 GMT Standard Time GMT South Africa Standard Time GMT+02:00 SE Asia Standard Time GMT+07:00 Singapore Standard Time GMT+08:00 China Standard Time GMT+08:00 Pacific SA Standard Time GMT-04:00 E. South America Standard Time GMT-03:00 Central Standard Time (Mexico) GMT-06:00 Egypt Standard Time GMT+02:00 Saudi Arabia Standard Time GMT+03:00 人工审核 以单签或会签的方式配置人工审核任务。 uses: Checkpoint with: mode: members|roles approvers: 05d8ca972f114765a8984795a8aa4d41 roles: PROJECT_MANAGER checkStrategy: all|any timeout: 300 timeoutStrategy: reject|pass comment: comment mode:审核模式。members表示按成员审核,roles表示按角色审核。 approvers:审核模式为members时的审核人员用户id,多个用户以“,”分隔。 role:审核模式为roles时的角色,可选值见表2,多个角色以“,”分隔。 checkStrategy:审核模式为members时的审核策略。all表示需所有人员审核才能通过;any表示任一人员审核即可通过。 timeout:审核超时时长(单位为秒)。 timeoutStrategy:审核超时时的策略。reject表示中止;pass表示通过。 comment:审核描述。 表2 审核角色 审核角色 YAML标识 项目创建者 PROJECT_CREATOR 项目经理 PROJECT_MANAGER 开发人员 DEVELOPER 测试经理 TESTING_MANAGER 测试人员 TESTER 参与者 PARTICIPANT 浏览者 VIEWER 运维经理 OPERATION_MANAGER 产品经理 PRODUCT_MANAGER 系统工程师 SYSTEM_ENGINEER Committer COMMITTER
  • 编排流水线任务 任务是流水线上可管理的最小执行单元,可以在流水线阶段中进行纳管和串并行编排。 访问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次;基础版:5次;专业版:10次;企业版:20次)。 执行完成后,即可查看流水线执行结果。执行过程遇到的问题请参考流水线常见问题。
  • 配置流水线并发策略 默认单条流水线最大执行并发数为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个定时任务。 单击右上角,可删除定时任务;单击右上角,可复制定时任务。 配置完成后,保存流水线。
  • 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触发源
  • 相关参考 操作符 表达式中可以使用如下操作符: 表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”。
  • 新建流水线 访问CodeArts Pipeline首页。 单击“新建流水线”,进入“基本信息”页面,参考表1配置流水线基本信息。 表1 流水线基本信息参数说明 参数项 说明 名称 流水线的名称,自定义。支持中文、大小写英文字母、数字、“-”、“_”,长度不超过128个字符。 所属项目 流水线归属项目。 从流水线服务首页入口新建流水线,请根据实际需要选择已创建的项目。 从项目下流水线入口新建流水线,所属项目默认为当前项目,不可更改。 流水线源 流水线关联的源类型: CodeArts代码源 Repo:提供企业代码托管的全方位服务,为软件开发者提供基于Git的在线 代码托管服务 。 第三方代码源 码云:连接码云账号之后可以获取该账号下的仓库、分支等信息。 Github:连接Github账号后可以获取该账号下的仓库、分支等信息。 Gitcode:连接Gitcode账号后可以获取该账号下的仓库、分支等信息。 通用Git:连接第三方通用Git仓库后可以获取该账号下的仓库、分支等信息。 制品源 SWR:使用华为云容器镜像作为流水线源运行流水线,并生成制品名称、制品下载地址和制品版本号系统参数,供需要的任务插件使用。 说明: GitCode流水线源当前仅支持“北京四”和“广州”局点白名单用户。如果您需要开通此功能,请新建工单或拨打客服热线进行咨询。 如果用户新建的流水线任务不需要关联代码仓,也可以选择“暂不选择”,不关联代码仓时,如果添加了需要关联代码仓的任务,执行时会提示错误,具体问题请参考常见问题。 创建方式 关联Repo代码源时,可以选择图形化编排和YAML化编排两种方式。 图形化编排:以图形化界面方式轻松配置流水线,清晰展示任务串并行关系。 YAML化编排:以代码化YAML方式编排流水线,支持语法自动补齐和校验,方便多流水线批量配置。请参考新建流水线(YAML化)。 服务扩展点 关联第三方代码源时,需通过服务扩展点实现与对应仓库的连接。可选择准备工作中提前创建的扩展点,也可单击“新建服务扩展点”进行创建,具体操作请参考新建CodeArts服务扩展点。 代码仓 流水线关联的代码仓库。 默认分支 仓库默认分支,手工或定时执行流水线时默认使用的分支。 Repo HTTPS授权 关联Repo代码源时,可配置授权扩展点以提升代码库操作权限,当前主要用于流水线服务的微服务变更功能模块及其相关插件。可选择准备工作中提前创建的扩展点,也可单击“新建授权”进行创建,具体操作请参考新建CodeArts服务扩展点。 别名 仓库别名,设置别名后可基于别名生成仓库对应的系统参数,如:“别名_REPOSITORY_NAME”,表示仓库名称。生成的参数可在参数设置页面查看,并在流水线中通过“${参数名}”进行引用。 支持输入大小写英文字母、数字、“_”,不超过128个字符。 描述 不超过1024个字符。 组织 关联SWR流水线源时,选择SWR组织。组织用于隔离镜像,每个组织可对应一个公司或部门,将其拥有的镜像集中在该组织下。 镜像名 关联SWR流水线源时,选择组织下的镜像。 指定版本 关联SWR流水线源时,选择镜像的版本。 制品源别名 关联SWR流水线源时,需设置制品源别名,设置别名后可基于别名生成对应的系统参数,如:“别名_ARTIFACT_NAME”,表示制品名称。生成的参数可在参数设置页面查看,并在流水线中通过“${参数名}”进行引用。 支持输入中文、大小写英文字母、数字、“-”、“_”、“.”,不超过128个字符。 配置完基本信息,单击“下一步”,进入“选择模板”页面。 您可以选择系统模板或自定义模板,在模板基础上快速新建流水线,并自动生成模板预置的任务,模板来源请参考管理流水线模板。 也可以选择“空模板”,即不使用模板,新建空任务流水线。 选择完模板,单击“确定”,完成流水线创建。 页面自动进入流水线“任务编排”页面,您可以继续配置流水线,也可以单击“取消”返回流水线列表。
  • 执行变更流水线 访问CodeArts Pipeline首页,进入项目下流水线。 单击“微服务”,进入微服务列表页面。 单击微服务名称,进入微服务“概览”页面。 单击“流水线”,进入微服务流水线列表页面。 单击流水线名称,进入流水线“执行历史”页面。 单击右上角“执行”,弹出“执行配置”对话框,进行如下配置。 图2 配置变更流水线执行信息 变更列表:变更列表展示阶段状态为“待发布”和“发布中”的变更,运行变更流水线时需要选择一个或多个变更。 运行参数配置:如果流水线配置了运行时参数,请根据需要设置参数值并保存,可参考流水线参数应用示例。 执行阶段配置:流水线支持选择任务执行,可以选择一个或多个,默认执行全部任务。 执行描述:填写本次运行的调试信息。 配置完成后,单击“执行”,进入变更流水线执行详情页面。 图3 执行变更流水线 变更流水线运行时会默认添加“合并集成分支”和“合并主干”阶段。 合并集成分支:变更流水线会自动从主干分支拉出一条新分支,并将本次运行变更的所有特性分支集成到该新分支,然后通过这条集成分支来运行流水线。 合并主干:将集成分支合并回主干分支。 执行完成后,可查看流水线执行结果。 变更流水线执行成功时,会将本次运行选择的所有变更状态改为“已发布”状态。 单击流水线名称,进入“流水线详情”页面 单击流水线源卡片的“查看更多”,弹出运行变更侧滑框,展示本次流水线运行时选择的变更信息。 单击列表内“变更标题”可以跳转到变更详情页面。 单击“发布列表”页签,切换到“发布列表”页面 发布列表页面展示所有阶段状态为“待发布”和“发布中”的变更。 列表支持在搜索栏中输入变更名称关键字进行搜索。 单击“操作”列,弹出“退出发布”对话框,单击“确认”会将变更退出变更流水线的发布列表,变更状态重置为“开发中”。 阶段状态为“发布中”的变更,如果变更流水线正在运行,则需要等待变更流水线运行完成或停止变更流水线后才可以退出发布。
  • 新建流水线微服务 访问CodeArts Pipeline首页,进入项目下流水线。 单击“微服务”,进入微服务列表页面。 单击“新建微服务”,进入“新建微服务”页面,配置相关参数。 表1 新建微服务 参数项 说明 所属项目 微服务所在项目,不可更改。 微服务名称 微服务的名称。支持大小写英文字母、数字、“_”,不超过128个字符。 代码源 代码仓库来源,当前仅支持Repo。 说明: 可暂不选择代码源,微服务创建成功后,可根据需要通过单击微服务名称,进入微服务概览页再进行关联。 代码仓 微服务关联的代码仓库,选择已创建的代码仓库。 说明: 一个代码仓只能关联一个微服务。 默认分支 微服务关联的默认分支,执行微服务流水线时默认使用的分支。 说明: 变更流水线执行完成后,所有变更特性分支都将会合入默认分支。 语言 微服务的开发语言,支持Java、Python、Node.js、Go、.Net、C++、PHP。 描述 长度不超过1024个字符。 单击“确定”,完成微服务创建并进入微服务“概览”页。 概览页展示微服务的创建人、创建时间、代码源等信息,可修改微服务开发语言、关联的代码仓库和描述信息。 更换代码仓库时,如果微服务下存在没有关闭的变更或运行中的流水线,页面会弹出“数据处理”侧滑框,需先关闭所有变更并停止所有运行中的流水线。 返回微服务列表,可以查看已创建的微服务,列表项说明如下。 表2 微服务列表 列表项 说明 微服务 微服务的名称。 创建人 创建微服务的用户名。 创建时间 创建微服务的时间,将鼠标悬浮至“创建时间”列,单击,可以根据创建时间排序微服务。 状态 展示微服务当前状态信息,创建后会自动处于激活状态。 操作 单击可收藏该微服务,收藏成功后图标变为,再次单击可取消收藏;单击,可删除该微服务。删除微服务,微服务内所有变更记录和流水线都将会被删除,请谨慎操作。 微服务列表展示项目下的所有微服务。 支持在搜索栏中输入微服务名称关键字进行搜索。
  • 新建变更流水线 访问CodeArts Pipeline首页,进入项目下流水线。 单击“微服务”,进入微服务列表页面。 单击微服务名称,进入微服务“概览”页面。 单击“流水线”,进入微服务流水线列表页面。 单击“新建流水线”,进入“基本信息 ”页面,配置相关参数。 表3 新建流水线 参数项 说明 所属项目 微服务所在的项目。 名称 流水线的名称,默认根据当前时间生成。支持中文、大小写英文字母、数字、“-”、“_”,长度不超过128个字符。 流水线源 流水线代码来源,微服务下流水线仅支持Repo。 代码仓 微服务关联的代码仓库。 说明: 修改微服务的代码仓库,微服务下所有流水线配置的代码仓库会自动更改。 默认分支 微服务关联的默认分支。 说明: 修改微服务的默认分支,微服务下所有流水线配置的默认分支会自动更改。 Repo HTTPS授权 配置授权扩展点以提升代码库操作权限,主要用于微服务变更流水线和部分仓库操作插件。单击“新建授权”,可添加CodeArts Repo HTTPS服务扩展点,配置方法请参考新建CodeArts服务扩展点。 说明: 新建CodeArts Repo HTTPS服务扩展点时,如果用户名密码填写错误,会授权失败并导致流水线执行失败。具体问题请参考常见问题。 别名 仓库别名。支持大小写英文字母、数字、“_”,长度不超过128个字符。 设置别名后可生成仓库对应的系统参数,如:“别名_REPOSITORY_NAME”,表示仓库名称。生成的参数可在参数设置页面查看,并在流水线中通过“${参数名}”进行引用。 基于变更触发 开启“基于变更触发”开关的流水线即为变更流水线,在微服务流水线列表中,变更流水线会被标识为。 说明: 单个微服务下仅允许存在一条基于变更触发的流水线。 描述 长度不超过1024个字符。 单击“下一步”,进入“选择模板”页面,根据需要选择对应模板,在模板基础上快速新建任务;也可以选择“空白模板”,即不使用模板,直接新建。 单击“确定”,根据需要编排流水线,然后单击“保存”。
  • 配置通过流水线上下文获取构建任务的产物信息 在流水线阶段任务的输入框中通过引用流水线上下文获取相关信息。本示例介绍如何在流水线上使用“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 查看产物信息 父主题: 流水线上下文
  • 流水线参数应用示例 本文以通过流水线统一配置releaseversion参数并传递到构建任务为例,介绍流水线参数使用方法。 新建构建任务。 在“参数设置”页面添加releaseversion参数并设置好默认值,打开“运行时设置”。 图3 新建构建任务参数 在“构建步骤”页面,选择“上传软件包到软件发布库”,将“发布版本号”配置成引用参数形式。在参数输入框输入“$”符号后会自动出现参数列表,选择上一步已经新建好的releaseversion参数。 图4 引用构建任务参数 使用“$”符号引用通用参数组的参数时不会自动生成提示。 配置完成后,保存构建任务。 新建空白模板流水线,在流水线阶段添加一个新的任务,然后在该任务中添加“Build构建”插件并调用刚创建的构建任务,即可看到刚新建好的构建任务参数releaseversion。 图5 配置构建任务参数 将鼠标移动到releaseversion参数上,可以一键将该参数设置为流水线参数并能直接引用该参数;或直接单击“确定”,然后切换到流水线“参数设置”页面,新建流水线参数releaseversion,类型可以根据需求选择自增长或字符串等,设置默认值并打开运行时设置。 图6 新建流水线参数 再切回到流水线“任务编排”页面,编辑刚添加的构建任务,将流水线的releaseversion参数通过“$”符号引用到构建任务的releaseversion参数内。 图7 引用流水线参数 该处只显示构建任务中开启“运行时设置”的文本类型参数。 鼠标移至参数名称,可以快速将该参数设置为流水线参数并能直接引用该参数。 完成参数引用后,保存信息,然后单击“保存并执行”,弹出“执行配置”对话框,可查看“运行参数配置”。 运行时参数值默认为添加参数时为参数设置的默认值,可根据需要进行修改。流水线运行时在构建任务内使用的就是此时输入的参数值。 设置完参数,单击“执行”,开始使用配置的参数执行流水线。