Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在停靠的jenkins上设置git ssh连接_Git_Authentication_Docker_Jenkins_Ssh - Fatal编程技术网

如何在停靠的jenkins上设置git ssh连接

如何在停靠的jenkins上设置git ssh连接,git,authentication,docker,jenkins,ssh,Git,Authentication,Docker,Jenkins,Ssh,jenkins和gitlab之间大约有3000种设置身份验证的方法,我很困惑。 我想做的事情非常简单:从gitlab分支签出、使用maven构建、创建docker映像、将其推入注册表 我所做的: 将gitlab插件安装到jenkins中 在gitlab和jenkins之间设置API令牌测试成功 在gitlab和jenkins之间设置webhook好的,如果需要推动git回购,我的工作就是 将SSH公共凭据从包含带有admin user的Jenkins docker容器的服务器添加到Jenkins

jenkins和gitlab之间大约有3000种设置身份验证的方法,我很困惑。 我想做的事情非常简单:从gitlab分支签出、使用maven构建、创建docker映像、将其推入注册表

我所做的:

将gitlab插件安装到jenkins中 在gitlab和jenkins之间设置API令牌测试成功 在gitlab和jenkins之间设置webhook好的,如果需要推动git回购,我的工作就是 将SSH公共凭据从包含带有admin user的Jenkins docker容器的服务器添加到Jenkins:id_rsa.pub内容中 我的管道第一阶段:

node {
deleteDir()
def mvnHome
def pom
stage('Checkout SCM') {
  git branch: 'develop', credentialsId: 'xxxxxxxxxxxxxxx', url: 'git@gitlab.com:blablabla/blablablabla.git'
  mvnHome = tool 'M3'
  pom = readMavenPom file: 'pom.xml'}
错误:

错误:克隆远程回购“源”时出错 hudson.plugins.git.git异常:命令git fetch-tags-progressgit@gitlab.com:blabla/blabla.git+refs/heads/:refs/remotes/origin/returned状态代码128: 标准: stderr:权限被拒绝公钥。 致命:无法从远程存储库读取


您必须按照以下方式配置密钥对

假设您在gitlab中有您的公共ssh密钥,如果不添加它的话 在docker环境中,向jenkins使用的用户添加私钥

为了进行测试,请从本地ssh到docker env,并执行与Jenkins相同的命令:

git fetch --tags --progress git@gitlab.com:blablabla/blablablabla.git +refs/heads/:refs/remotes/origin/
另外,请在这里拍照,希望它能给你更多的见解