首页 > 解决方案 > 设置 bitbucket 管道 yaml 文件

问题描述

我是使用 bitbucket 的新手,只是尝试设置简单的构建管道。单击管道菜单选项并编辑示例文件并提交。这在我的主分支上创建了一个管道 yaml 文件。它运行并构建正常 - 它没有构建我的开发分支。

我是否需要每个分支上的管道 yaml 文件。

我可以从文档中看到我可以将分支特定步骤放入一个文件中,如果我编辑已在 master 上提交的文件以包含开发分支的部分,当我提交到开发分支或这只会在提交到主分支时触发。

标签: yamlbitbucket-pipelines

解决方案


Bitbucket 将运行对您已提交的分支具有相应定义的管道。因此,如果您将管道配置文件提交给 master,则只会执行该文件中的管道defaultmaster管道。如果要为develop分支运行管道,则还需要提交此文件以开发分支。请注意,default如果没有为此特定分支定义其他管道,则无论分支名称如何,都会执行该管道。所以,你的评论是正确的,你需要bitbucket-pipelines.yml在每个分支中都有。

以下是 Bitbucket 将如何解析管道执行配置^

  1. 如果没有bitbucket-pipelines.yml- 分支不会运行任何管道

  2. 如果存在bitbucket-pipelines.yml且仅存在default管道定义,Bitbucket 将执行该default管道。

    pipelines:
      default:
        - step:
          script:
            - echo "Running the default pipeline"
    
  3. 如果还为特定分支定义了特定管道,比如说 for develop,Bitbucket 将执行此管道而不是default

    pipelines:
      default:
        - step:
          script:
            - echo "This will not be executed if the branch is develop"
      develop:
        - step:
          script:
            - echo "Running the develop pipeline"
    

    请注意,如果分支名称是其他名称,可以说release,由于没有为release分支定义管道,因此将执行默认管道。


推荐阅读