Sha*_*nbr 6 git branch jenkins jenkins-pipeline
我正在编写管道脚本,以便在我们的项目中实现持续集成流程.这个过程是让用户在下面的命名规则,具体的分支做的工作test_id1,test_id2等等.一旦这些都推到远程回购,詹金斯踢入,它会检查出的分支与测试*并执行构建过程的其余部分.
根据我的初衷,我编写了如下管道脚本: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")
}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我试过"测试*","测试*".
Jenkins解决了以下错误:
Caused by: hudson.plugins.git.GitException: Command "git checkout -b test* 264dc398372cba41c026568bd764d2656ebfc511" returned status code 128:
Run Code Online (Sandbox Code Playgroud)
所以,问题是我是否正朝着正确的方向前进.我也查看了上面的错误,显然,使用通配符的git checkout是不能达到目的的.那么,以下方法是否有效:
1)像往常一样检查git master 2)检查名称test*是否存在任何新分支3)如果是,请检查分支,然后执行其余的构建
需要一些指示......
小智 2
您可以使用带有正则表达式的 SCM 结帐插件。我曾经使用 feature/US1234 格式轮询功能分支。根据需要进行修改。
checkout([$class: 'GitSCM',
branches: [[name: ':^(?i)origin/feature/[a-z|A-Z]{2}[0-9].*']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'WipeWorkspace'],
[$class: 'LocalBranch', localBranch: '**']], submoduleCfg: [],
userRemoteConfigs: [[credentialsId: 'YOURID', url: 'GITURL']]])
Run Code Online (Sandbox Code Playgroud)
使用管道语法生成器获得更多选项。
| 归档时间: |
|
| 查看次数: |
3622 次 |
| 最近记录: |