git - 为什么 bitbucket 分支项目会 checkout 两次?

标签 git jenkins jenkins-pipeline bitbucket-pipelines

我正在使用 bitbucket 分支源插件和 bitbucket 团队项目来索引整个 bitbucket 存储库。尽管我的 jenkinsfile 只输入了一次 checkout scm,但 jenkins 在 jenkinsfile 启动之前就进行了 checkout,如何禁用它?

我需要使用通过“buildWithParameters”远程触发的参数化管道,并将一个提交哈希传递到管道。但问题是 bitbucket 插件在 jenkinsfile 之前启动自己的 checkout ,该文件欢迎超过 20-30 次提交到构建,这使得第二个参数化 checkout 毫无用处。

当这种双重 checkout 发生时,同样奇怪的是第二次参数化 checkout 通常以日志条目结束:

 > git rev-parse 19835cab351224455778899sdggscvhjkkknb42a3addfb^{commit} # timeout=10

实际上应该这样做:

 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository

仅此而已,只是日志中的一行,没有执行任何操作。如何避免第一次 checkout ?

最佳答案

您可能指的是“声明式:Checkout SCM”“阶段”。如果是这样,则跳过DefaultCheckout,如下所示:

pipeline {
  agent { label 'docker && git && rbenv' }
  options {
    skipDefaultCheckout true
  }
  ...

关于git - 为什么 bitbucket 分支项目会 checkout 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43348244/

相关文章:

git - 如何将 master 移动到 HEAD?

jenkins 管道 PR 构建包含错误的分支名称

.net - 没有 RDC 的 Windows 和 GUI 测试上的 Jenkins

Jenkins 管道 sh 添加新行

jenkins - 如何使用 Jenkins Pipeline 并选择电子邮件通知的触发器?

java - 收到致命警报 : bad_record_mac when Git Push with netbeans 8

git - 忽略目录与使用通配符忽略目录

git - git checkout <commit hash> 后 merge 分离分支上的更改

hibernate - 为什么 gradle 不会从 jenkins 工作中运行

jenkins-pipeline - 将共享库中的日志传播到 Jenkins 作业控制台