如何在Jenkins文件中克隆私有gitlab repo

如何在Jenkins文件中克隆私有gitlab repo,jenkins,gitlab,jenkins-pipeline,Jenkins,Gitlab,Jenkins Pipeline,我试图在Jenkinsfile中的shell脚本中对私有gitlab repo进行git克隆,但我一直找不到方法。我的意思是,这是一个简单的git克隆,我不敢相信我必须来这里寻求帮助来完成如此简单的任务。不幸的是,与github相比,gitlab支持总是带来额外的成本 另一件不幸的事是,我搜索了整个互联网,却找不到解决问题的方法。 我有Gitlab插件,还尝试使用Gitlab api令牌,但jenkins中不支持Gitlab api令牌。无法将其与withcrdentials或任何其他东西一起使

我试图在Jenkinsfile中的shell脚本中对私有gitlab repo进行git克隆,但我一直找不到方法。我的意思是,这是一个简单的git克隆,我不敢相信我必须来这里寻求帮助来完成如此简单的任务。不幸的是,与github相比,gitlab支持总是带来额外的成本

另一件不幸的事是,我搜索了整个互联网,却找不到解决问题的方法。 我有Gitlab插件,还尝试使用Gitlab api令牌,但jenkins中不支持Gitlab api令牌。无法将其与withcrdentials或任何其他东西一起使用

我还尝试了使用用户名和密码的常规凭据,但这也不起作用

还尝试了http和git repo url http表示找不到,git或ssh表示主机密钥错误

我试过的

   steps {
     git url: 'https://gitlab.example.com/user/example_repo.git', branch: 'master', credentialsId: 'my-gitlab-repo-creds'
   }
得到了这个错误

git:'url:'不是git命令。请参阅“git-help”

你是说这个吗?修剪

来自其他试验和错误的其他错误

克隆到“示例报告”。。。 主机密钥验证失败。致命:无法从远程服务器读取 存储库

请确保您拥有正确的访问权限和存储库 存在

克隆到“示例报告”。。。致命:无法读取的用户名 :没有这样的设备或地址


我建议使用checkout管道步骤而不是git管道步骤


这应该在舞台的哪个位置?在sh外壳块内部或何处?它应该位于sh步骤之前,而不是git步骤。所以它看起来像管道->阶段->步骤->签出
            checkout([$class: 'GitSCM',
                branches: [[name: '*/master' ]],
                extensions: scm.extensions,
                userRemoteConfigs: [[
                    url: 'https://gitlab.example.com/user/example_repo.git',
                    credentialsId: 'my-gitlab-repo-creds'
                ]]
            ])