【发布时间】:2017-01-26 11:47:08
【问题描述】:
我正在编写管道脚本,以便在我们的项目中实现持续集成流程。该过程是让用户在遵循命名约定的特定分支中工作,test_id1、test_id2 等。一旦将这些推送到远程仓库,Jenkins 就会启动,它会使用 test* 签出分支并执行其余部分构建过程。
基于我最初的直觉,我编写了如下管道脚本: 阶段“构建”
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 master 2) 检查是否存在任何名为 test* 的新分支 3)如果是,检查分支,然后进行其余的构建
在这方面需要一些指导......
【问题讨论】:
-
尝试管道的
checkout步骤并使用:<regex>作为分支名称(冒号在这里很重要,让jenkins 知道您正在使用正则表达式!)。在您的 Jenkins 实例中检查 Snippet Generator - 它可以帮助您了解该步骤的语法
标签: git jenkins branch jenkins-pipeline