我们在git中有一些代码,我开始设置Jenkins来获取我们的分支并尝试进行编译。自从上次建立以来的几年中,似乎有些分支可能已经开始腐烂,因为它们无法完成制作。
我想建立所有找到的分支,除了排除分支列表。詹金斯有可能吗?这将使我开始运行,然后在尝试修复它们时回来启用更多分支。
到目前为止我尝试过的
正则表达式
看着“ Git>建立分支”选项,我希望可以用:替换默认的’**’通配符。对http://rubular.com/进行一些深入研究和仔细检查后,发现以下内容可能会满足我的要求。
:^(?! origin / exclude \ -this \ -branch \ .v1 | origin / exclude \ -this \ -branch \ -too.v2)(\ S +)
现在,这里有一个关于在后台运行的正则表达式引擎的假设。我希望它可以理解前瞻性,但是如果不这样做,则可以解释为什么此方法失败。它似乎建立了所有分支,包括我尝试排除的分支。也许我只需要找到更多调试功能?
在这里寻找类似的问题
我遇到了Jenkins /Hudson使用优先级构建所有分支,这似乎包含了一种可能的解决方案,其中一些向分支匹配https://github.com/jenkinsci/git-plugin/pull/45添加了一个 反向 选项,听起来像我需要的。可悲的是,这似乎不是我所拥有的詹金斯版本,这很奇怪,因为2011年已经很久了。
我正在使用的系统
Ubuntu LTS 14.04。詹金斯版 1.611。GNU工具链可生成C / C ++代码。
怎么样使用
^(?!.*master).*$
作为分支说明符。此正则表达式表示所有不匹配master的分支。
分解:
^(?!.*master).*$ ^ ---> beginning of string (?! ) ---> negative lookahead find all that doesnt match .* ---> zero or more of 'any' character master ---> should not match master .*$ ---> will match anything to the end of string