我为我的CI工作设计了一个声明性管道,包括一些与分支更新日志魔法词相关的条件阶段。它工作得很好,尽管试图在声明性管道中建立流控制会导致许多阶段,这些阶段在某些方面是冗余的。
因此,我决定尝试脚本管道语法,但我找不到任何等效的“changelog”符号,这是有用的,以确定一个神奇的词匹配分支changelog。
我希望我能像这样继续前进:
//Declarative
pipeline {
agent any
stages {
stage('Dummy') {
when
{
changelog '\\[ci BUILD\\]'
}
steps
{
echo 'Building dummy...'
}
}
}
}
//Scripted
node {
stage('Dummy') {
if (changelog '\\[ci BUILD\\]')
{
echo 'Building dummy...'
}
}
}
但是它没有工作。有什么方法可以设置这个吗?
1条答案
按热度按时间i86rm4rw1#
我已经设法使用regex find运算符编写了一个Groovy函数,并在Jenkins 2.375.2上测试了“Pipeline:Supporting APIs”插件,版本839.v35e2736cfd5c,它工作正常。下面是实现:
使用这种方法,这:
相当于这个: