使用Multibranch Workflow,签出的命令看起来像
checkout scm
我找不到告诉詹金斯执行干净结账的方法.通过"干净",我的意思是它应该删除工作区中不受版本控制的所有文件.
我不确定这是否回答了原始问题(我无法判断是否有意在工作区中留下一些文件),但为什么不首先删除工作区,这样可以进行干净的检查:
stage ('Clean') { deleteDir() } stage ('Checkout') { checkout scm }
我遇到了同样的问题,这是我的解决方法。我为签出创建了一个新的scm对象,并使用CleanBeforeCheckout扩展了扩展。但是我保留了其他配置,例如分支和userRemoteConfigs。
checkout([ $class: 'GitSCM', branches: scm.branches, extensions: scm.extensions + [[$class: 'CleanBeforeCheckout']], userRemoteConfigs: scm.userRemoteConfigs ])
它仍然不是完美的,因为您必须创建一个新对象:(