云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





概述

多分支管道使开发团队能够为同一项目的不同分支维护离散的管道。每个分支的管道都有自己的运行历史和日志。


许多开发组织使用分支模型(例如GitFlow),以便在大型项目上进行合作。在这种风格的工作流中,开发团队在创建时维护一个主要的源代码分支 每个正在进行的特性的特性分支。当特性开发完成后,特性团队将把这些变更合并到主分支中,并删除特性分支。

在这个敏捷开发模型中,频繁地创建和销毁特性分支。将每个分支作为新的管道源手动管理可能是一项缓慢而恼人的工作。

当你指定一个管道源为多分支时,管道会自动从每个分支的管道配置中创建一个新的管道,并在该分支被销毁时销毁该管道。通过这种方式,主分支和包含的子分支都有自己的管道,每个管道都可以被独立地查看、运行和触发。

页面内容


配置多分支管道源

多分支管道必须位于已配置为多分支的管道源中。

当一个多分支管道源同步时,它会自动从主分支创建和销毁分支中的管道配置文件。您可以指定排除和包括分支模式来限制哪些分支参与自动管道创建/删除

有关更多信息,请参见管理管道源


声明一个多分支管道

在管道DSL中,术语{{gitBranch}}可以用作管道从哪个分支加载的占位符。当管道从管道源同步时,它会自动替换任何出现的{{gitBranch}}加上分支的名称。请注意,这将发生在单个分支管道源以及多分支管道源中。

在Pipelines DSL中创建多分支管道时,使用{{gitBranch}}作为您指定分支的任何位置的值。当管道同步多分支管道源的每个分支时,它将自动替换{{gitBranch}}在每个分支的管道中引用其分支的名称。

GitRepo资源定义、使用{{gitBranch}}你在哪里定义它的分支要包含的资源

pipelines_2022世界杯阿根廷预选赛赛程resources.yml
2022世界杯阿根廷预选赛赛程资源:-名称:appRepo类型:GitRepo配置:gitProvider: my_github路径:myrepo/myproject分支:include: ^{{gitBranch}}$ #格式化为regex模式

你也可以用{{gitBranch}}在步骤或管道配置中引用分支的任何地方。这个示例管道输出分支的名称。

pipelines_steps.yml
-名称:multibranch_example步骤:-名称:mb_step_1类型:Bash配置:affinityGroup: together inputResources: -名称:appRepo执行:onExecute: - ech2022世界杯阿根廷预选赛赛程o "running test for branch {{gitBranch}}" - pushd $res_tw_multibranch_repo_resourcePath - ls -latr - popd -名称:mb_step_2类型:Bash配置:affinityGroup: together inputSteps: -名称:mb_step_1执行:onExecute: - echo "building {{gitBranch}}"

在条件逻辑或比较逻辑中使用时,{{gitBranch}}占位符必须用双引号括起来。

例子{{if eq "{{gitBranch}}" "master"}}


运行多分支管道

从多分支管道源同步的多分支管道出现在我的管道作为列表中的可扩展条目。单击展开多分支管道源,然后单击其中一个分支版本以查看并运行它。

选择分支后,您可以查看管道运行日志在那根树枝上的任何分支。

上面的多分支管道示例使用{{gitBranch}}输出正在运行的分支的名称。您可以在每个分支的管道运行日志中看到结果。

  • 没有标签
版权所有©2022 JFrog Ltd.