开发者社区 > 云效DevOps > 正文

云效yaml流水线里的 ${CI_COMMIT_REF_NAME} 失效了?

云效yaml流水线里的 ${CI_COMMIT_REF_NAME} 或者 ${CI_COMMIT_REF_NAME_1} 失效了? condition: | "${CI_COMMIT_REF_NAME}" == "master" 在这个明明是master也跳过。$[sources.源.branch]嘛?

展开
收起
三分钟热度的鱼 2023-12-06 19:35:27 147 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在云效的yaml流水线中,${CI_COMMIT_REF_NAME} 在云效的yaml流水线中,${CI_COMMIT_REF_NAME}${CI_COMMIT_REF_NAME_1} 是用于获取当前提交的分支名称的变量。如果这些变量失效了,可能是因为你的流水线配置有误或者环境问题导致的。

    关于你提到的条件判断语句 condition: | "${CI_COMMIT_REF_NAME}" == "master",它应该可以正确判断当前分支是否为 master。如果你发现明明在 master 分支上执行,但仍然跳过了这个步骤,可能是以下原因之一:

    1. 分支名称不匹配:请确保你的分支名称与 ${CI_COMMIT_REF_NAME} 中的值完全匹配,包括大小写。
    2. 变量未正确设置:检查你的流水线配置中是否正确设置了 ${CI_COMMIT_REF_NAME} 变量。你可以在其他步骤中使用该变量来验证其是否正常工作。
    3. 环境问题:有时候,流水线执行的环境可能会导致某些变量无法正常解析。你可以尝试在其他环境中运行相同的流水线配置,看是否能够解决问题。

    另外,你提到了 $[sources.源.branch],这是一个用于获取代码仓库中特定分支名称的变量。如果你想获取当前代码仓库的分支名称,可以使用 $[env(BRANCH)] 变量。例如:

    steps:
    - script: |
        echo "当前分支是:${env(BRANCH)}"
    
    2023-12-06 21:20:48
    赞同 展开评论 打赏
  • 当流水线配置了多个代码源时,不同代码源信息可以通过变量名+数字后缀(第n个代码源)获取。环境变量和代码源对照关系如下图所示:lQLPJw45dwDK2YvNCIzNDxiwV41DkGCqi6UFWswLob96AA_3864_2188.png 您这个任务是第一个?这个不支持第一个任务的,因为第一个任务还没有拉取代码源,还没有代码源有关的环境变量。
    此回答整理自钉群“云效交付域答疑群”

    2023-12-06 20:06:42
    赞同 展开评论 打赏
  • 在云效的YAML流水线中,环境变量可能因为各种原因而无法正常工作。以下是一些可能导致${CI_COMMIT_REF_NAME}${CI_COMMIT_REF_NAME_1}失效的原因:

    1. 变量名称错误:确保你使用的是正确的变量名。对于分支名称,通常使用的变量是${CI_COMMIT_REF_NAME},而不是${CI_COMMIT_REF_NAME_1}

    2. 大小写问题:在比较字符串时,大小写通常是敏感的。如果你的分支名称"master"实际上是"Master"(大写),那么条件判断可能会失败。你可以尝试改为全小写或者全大写的比较,或者使用toLowerCase()toUpperCase()函数进行转换。

    3. YAML语法错误:检查你的YAML文件是否有语法错误。例如,条件语句周围的空格和引号需要正确放置。正确的示例应该是这样的:

      condition: 
        - "${CI_COMMIT_REF_NAME}" == "master"
      
    4. 变量未定义:如果环境变量没有被正确设置,那么它将被视为未定义。确保你在触发流水线的上下文中设置了这些变量。

    5. 使用了过期的文档或例子:某些环境变量可能是旧版本的云效或相关工具提供的,而在当前版本中已经不再支持。查看最新的官方文档以获取最新的环境变量列表。

    关于${sources.源.branch},这个变量名看起来不太标准,可能不是云效默认提供的环境变量

    2023-12-06 19:58:11
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

相关电子书

更多
云效助力企业软件供应链生产效能提升 立即下载
云效 DevOps 客户案例集(公共云) 立即下载
云效专有云服务手册下载(2019最新版) 立即下载