yaml - 设置 bitbucket 管道 yaml 文件
问题描述
我是使用 bitbucket 的新手,只是尝试设置简单的构建管道。单击管道菜单选项并编辑示例文件并提交。这在我的主分支上创建了一个管道 yaml 文件。它运行并构建正常 - 它没有构建我的开发分支。
我是否需要每个分支上的管道 yaml 文件。
我可以从文档中看到我可以将分支特定步骤放入一个文件中,如果我编辑已在 master 上提交的文件以包含开发分支的部分,当我提交到开发分支或这只会在提交到主分支时触发。
解决方案
Bitbucket 将运行对您已提交的分支具有相应定义的管道。因此,如果您将管道配置文件提交给 master,则只会执行该文件中的管道default
或master
管道。如果要为develop
分支运行管道,则还需要提交此文件以开发分支。请注意,default
如果没有为此特定分支定义其他管道,则无论分支名称如何,都会执行该管道。所以,你的评论是正确的,你需要bitbucket-pipelines.yml
在每个分支中都有。
以下是 Bitbucket 将如何解析管道执行配置^
如果没有
bitbucket-pipelines.yml
- 分支不会运行任何管道如果存在
bitbucket-pipelines.yml
且仅存在default
管道定义,Bitbucket 将执行该default
管道。pipelines: default: - step: script: - echo "Running the default pipeline"
如果还为特定分支定义了特定管道,比如说 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
分支定义管道,因此将执行默认管道。
推荐阅读
- regex - 在 python 中使用带有列表理解的正则表达式
- ios - iOS 使用新的隐私设置强制重启应用
- java - 如何将模型类型列表中的数据添加到数组中
- sql-server - RAMDisk 和物理磁盘上的 sql server tempDB 文件
- visual-studio-code - VSCode:没有足够的空间来拆分终端
- java - 无法解析的日期异常 (1980-02-22T00:00:00Z)
- ios - 使用 JSON 数据在标签上设置文本
- javascript - THREE.js 不使用 .mtl 渲染 .obj - 为 THREE.js 导出文件
- c++ - 将参数包参数部分专门化为 void 类型的语法是什么?
- swift - 在展开可选值但值存在时意外发现 nil