Tam*_*leh 0 java maven-3 git-branch bitbucket-pipelines
我在 bit-bucket 帐户下有一个存储库,该存储库有这 4 个分支:
- master
- API
- Admin
- Web
Run Code Online (Sandbox Code Playgroud)
我只有bitbucket-pipelines.yml下面的一个master branch,就像这样:
image: maven:3.5.0-jdk-7
pipelines:
branches:
API:
- step:
caches:
- maven
script:
- mvn install
Run Code Online (Sandbox Code Playgroud)
所以我希望每当 API 分支发生任何推送时都会触发这个管道,事实上除非推送到 master 分支,否则它不会发生,唯一的出路是将这个相同的文件也放在 API 分支下,虽然文档说它只有一个位于 repo root 下的副本master branch,那么我怎样才能实现这一目标呢?
如果我需要在所有分支中放置相同的管道文件,我认为它完全是嘲笑,那么任何人都可以澄清这一点吗?提前致谢!
如果您只有bitbucket-pipelines.ymlin ,那么当您推送到 时master就没有,因此不会运行任何管道。就这么简单。您引用的文档中的 \xe2\x80\x9conly 一份 \xe2\x80\x9d 语句对我来说没有太多意义,因为 YAML 文件仅位于 Git 中,因此是分支-dependend,即是一个像任何其他文件一样的文件,当涉及到分支时,没有任何 \xe2\x80\x9cspecial\xe2\x80\x9d 。bitbucket-pipelines.ymlAPIbitbucket-pipelines.yml
但是,我明白为什么您会感到困惑 \xe2\x80\x93 为什么有一个配置文件来指定每个分支的行为,而每个分支中只能有一个特定于分支的配置?我认为这背后的基本原理是配置通常非常相似。例如,大多数存储库都会有诸如develop和 之类的分支master,这些分支可能仅在部署位置上有所不同。在分支中拥有不同的文件会更难以使用。
在您提问之前:是的,您可以配置 2 个以上分支来执行相同的操作。至少有 2 种可能的语法,最简单的一种是:
\n\npipelines:\n branches:\n '{develop,master,release/*}':\n - step:\n script:\n - echo $BITBUCKET_BRANCH\nRun Code Online (Sandbox Code Playgroud)\n