Git服务器搭建与Jenkins交互下代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git服务器搭建与Jenkins交互下代码相关的知识,希望对你有一定的参考价值。
今天在测试jenkins 拉代码的时候,又出现一些权限和交互的问题,今天再总结一下:
一,Git服务器的配置根据这里的指导直接操作
https://www.runoob.com/git/git-server.html
特别要注意里面git账号和文件的权限,ssh文件的权限(全部按照这里说的操作)
二,Jenkins服务器配置
记住在使用Jenkins网页拉取代码和在Jenkins服务器上拉取代码时,使用的SSH秘钥位置是完全不同的
- 通过Jenkins网页访问git服务器的时候其实是利用jenkins账号来访问的,他调用的ssh key相关信息存储在/var/lib/jenkins/.ssh中,这个文件夹的属主和属组必须是jenkins,而且权限不能太大,也不能太小,都有可能导致无法访问
- 直接登录jenkins 服务器访问git服务器的时候,用的是当前登录的用户的用户目录下的.ssh文件,文件的属主和组都必须是当前用户,而且权限也不能太大,不然也无法访问
这是jenkins的ssh账号信息,把这里的pub key
Copy到git服务器的authorized.keys 文件中
如果权限不对的话,这里一直报错,检查的方法即使在jenkins服务器上切换到jenkins 账号
根据jenkins服务器上登录界面的提示
git ls-remote -h -- git@10.180.116.165:/home/gitrepo/runoob.git HEAD只要这个命令在jenkins用户下操作没有什么问题,基本上在jenkins网页登录git服务器就没有问题,可以根据这个命令中报错提示,去找原因(注意,这条命令执行不需要任何其他操作才能成功)
这是另外一台Git服务器,其他操作都一样,唯一的差别就是操作
git ls-remote -h -- git@10.180.116.175:/home/gitrepo/runoob.git HEAD这条命令的时候需要输入密码(这里貌似是认证的ssh key没有生效,所有需要输入密码验证,检查git的auth 下的key和jenkins服务器的key知否一致,如果一致,理论上不需要其他的验证,ssh key就应该已经交互了)
https://blog.csdn.net/bigwood99/article/details/107073603这个文件对jenkins中权限的设置,写的比较清楚
以上是关于Git服务器搭建与Jenkins交互下代码的主要内容,如果未能解决你的问题,请参考以下文章