文档首页/ 流水线 CodeArts Pipeline/ 最佳实践/ 通过流水线自动为代码仓库创建标签
更新时间:2025-08-28 GMT+08:00
分享

通过流水线自动为代码仓库创建标签

方案概述

流水线上下文存储了流水线运行的实例、变量、任务等信息,每个上下文都是一个包含各种属性的对象。使用流水线时,当一个任务生成了数据或结果,且这些数据或结果需要在后续任务中使用时,可以基于流水线上下文来实现,流水线上下文可以帮助实现任务间的信息传递和协作,使得整个流水线运作更加灵活和高效。

本文以通过流水线自动为代码仓库创建标签为例,介绍流水线上下文在流水线任务间的传递过程。

准备工作

操作步骤

  1. 登录华为云控制台页面
  2. 单击页面左上角,在服务列表中选择“开发与运维 > 流水线 CodeArts Pipeline”。
  3. 单击“立即使用”,进入流水线服务首页。
  4. 单击“新建流水线”,进入“基本信息”页面,参考表1配置流水线基本信息。

    表1 流水线基本信息

    配置项

    配置建议

    名称

    流水线名称,支持中文、大小写英文字母、数字、“-”、“_”,长度不超过128个字符,输入“Pipeline-Test”。

    所属项目

    流水线所在的项目,选择准备工作中已创建的项目“Project_Test”。

    流水线源

    流水线关联的源类型,选择“Repo”。

    代码仓

    流水线关联的代码仓库,选择准备工作中已创建的代码仓“Repo_Test”。

    默认分支

    仓库默认使用的分支,选择准备工作中已创建的分支“release-1.0.0”。

  5. 配置完基本信息,单击“下一步”,进入“选择模板”页面,选择“空模板”,单击“确定”。
  6. 进入“任务编排”页面,系统默认生成两个阶段(“流水线源”和“阶段_1”),单击“新建阶段”新增一个阶段“阶段_2”。
  7. 单击“阶段_1”的“新建任务”,选择“从空模板新建”,弹出“新建任务”侧滑框,在搜索框搜索“执行shell”插件,将鼠标移动到插件卡片,单击“添加”,填写插件名称(保持默认),输入如下Shell命令,生成标签名称。

    1
    2
    3
    4
    5
    branch='${{ sources.Repo_Test.target_branch }}'    //获取到运行的分支名称
    echo $branch                                    //打印分支名称
    tag=${branch/release-/v}                        //将分支名称自定义为新的参数(本示例:release-1.0.0自定义处理为v1.0.0)
    echo $tag                                       //打印标签名称
    echo ::set-output var=tag_name:$tag             //生成了tag_name输出,并设置到上下文中,供后续任务使用
    
    图1 生成标签名称

  8. 单击“阶段_2”的“新建任务”,选择“从空模板新建”,弹出“新建任务”侧滑框,在搜索框搜索“创建仓库标签”插件,将鼠标移动到插件卡片,单击“添加”,参考表2填写相关信息,创建代码仓库标签。

    表2 参数信息说明

    参数项

    说明

    名称

    插件名称,保持默认即可。

    标签名

    标签名称,输入“${{jobs.JOB_tBeer.outputs.tag_name}}”,其中JOB_tBeer为“执行Shell”插件所在的任务ID。

    仓库

    选择流水线关联的代码仓库。

    图2 创建仓库标签

  9. 配置完成后,单击“保存并执行”,弹出“执行配置”弹窗,保持默认配置,单击“执行”。
  10. 执行成功后,在左侧导航栏选择“代码 > 代码托管”,进入代码托管服务。
  11. 单击流水线关联的代码仓库名称,进入仓库详情页。
  12. 单击“代码”页签下的“Tags”子页签,即可在标签列表查看到通过流水线创建的标签v1.0.0。

    图3 查看标签

相关文档