我正在尝试改进项目构建脚本,在YML文件中描述,改进本身似乎相当微不足道,但是意外破坏自动构建的想法让我有点害怕。
现在项目中有几个分支,版本标签和其他东西。
不是由运行者构建的开发分支将是有用的,因为在虚拟机之间以某种方式复制一个巨大的项目以在不同平台上测试构建是不方便的。所以,我想从构建中排除一些“prj-dev”分支。
我们有:
stages:
- build
- linuxbuild
job:
tags:
- win2008build
stage: build
script:
# something complex
job1:
tags:
- linux
stage: linuxbuild
script:
# something else complex
我用Google搜索并找到了一个解决方案:
stages:
- build
- linuxbuild
job:
tags:
- win2008build
branches:
except:
- *dev-only
但似乎我们的管道完全不同,标签不是git标签,它们是管道标签。所以,我正在考虑使用如下配置:
stages:
- build
- linuxbuild
job:
tags:
- win2008build
except:
branches:
- *dev-only
......这意味着“像往常一样建造,但不是我的分支”。尝试两种方式都有复杂性,我很确定有人应该知道这个方法。
那么,如果您愿意, - 如何在不更改管道的情况下排除我的开发分支,仅限配置?有可能吗?
您需要做的就是在except
文件中使用gitlab-ci.yml
并在下面直接添加您的分支,如下所示:
mybuild:
stage: test
image: somedockerimage
script:
- some script running
except:
- branch-name
这对我的项目没有任何问题。