Gitlab CI脚本:排除分支

问题描述 投票:4回答:1

我正在尝试改进项目构建脚本,在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

......这意味着“像往常一样建造,但不是我的分支”。尝试两种方式都有复杂性,我很确定有人应该知道这个方法。

那么,如果您愿意, - 如何在不更改管道的情况下排除我的开发分支,仅限配置?有可能吗?

gitlab gitlab-ci auto-build
1个回答
5
投票

您需要做的就是在except文件中使用gitlab-ci.yml并在下面直接添加您的分支,如下所示:

mybuild:
    stage: test
    image: somedockerimage
    script:
        - some script running
    except:
        - branch-name

这对我的项目没有任何问题。

© www.soinside.com 2019 - 2024. All rights reserved.