云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

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


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

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

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

页面内容


配置多分支管道源

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

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

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


声明一个多分支管道

在管道DSL中,术语{{gitBranch}}可以用作加载管道的任何分支的占位符。当管道从管道源进行同步时,它会自动替换发生的任何{{gitBranch}}与分支机构的名称。注意,这将发生在单个分支管道源和多分支管道源)。

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

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

pipelines_2022世界杯阿根廷预选赛赛程resources.yml
2022世界杯阿根廷预选赛赛程资源:—name: apprebo type: GitRepo configuration: gitProvider: my_github path: myrepo/myproject分支:包括:^{{gitBranch}}$ #格式化为正则表达式模式

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

pipelines_steps.yml
管线:—name: multibranch_example steps:—name: mb_step_1 type: Bash配置:affinityGroup: together inputResources:—name: appRepo2022世界杯阿根廷预选赛赛程执行:onExecute: - echo "running test for branch {{gitBranch}}" - pushd $res_tw_multibranch_repo_resourcePath - ls -latr - popd - name: mb_step_2 type: Bash配置:affinityGroup: together inputSteps: - name: mb_step_1执行:onExecute: - echo "building {{gitBranch}}"

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

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


运行多分支管线

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

选择分支后,您可以查看管路运行日志分支中的任何运行。

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

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