我正在编写流水线脚本,以实现我们项目中的持续集成流程。此过程是让用户在遵循命名约定的特定分支中完成工作,如test_id1
、test_id2
等。一旦这些被推送到远程仓库,Jenkins就会启动,它检出带有test*的分支并执行剩余的构建流程。
根据我的最初想法,我编写了以下流水线脚本: stage 'build'
node {
git url: 'git@hd1:testing', branch: test*
sh "pwd"
sh "cat simple.csh"
sh "echo $PATH"
sh "csh simple.csh"
echo("end of pipeline")
}
顺便说一下,我尝试过 "test*",'test*'。
Jenkins 报错如下:
Caused by: hudson.plugins.git.GitException: Command "git checkout -b test* 264dc398372cba41c026568bd764d2656ebfc511" returned status code 128:
所以问题是我是否朝着正确的方向前进。我还查看了上面的错误,显然,使用通配符的git checkout不会起到作用。那么,以下方法是否有效:
1)像往常一样检出git主分支 2)检查是否存在名称为test*的新分支 3)如果存在,则检出该分支,然后进行其余构建
需要一些指导...
checkout
步骤,并使用:<regex>
作为分支名称(这里冒号很重要,让 Jenkins 知道您正在使用正则表达式!)。在您的 Jenkins 实例中检查 Snippet Generator - 它可以帮助您处理步骤的语法。 - fishi0x01