当前位置:网站首页 > 云计算与后端部署 > 正文

git服务器部署(git 服务器配置)



1、系统需求 Msysgit和TortoiseGit(TortoiseGit可选,装了Egit插件可以不用装,下载svn地址:01:8001/svn/Routine/tools/开发工具) 备注:安装顺序是先安装 msysgit,然后安装TortoiseGit。如果弄反了,就必须 进入 TortoiseGit 的设置界面,手动指定 Git 核心文件的位置(例如 c:Program FilesGitbin)。 TortoiseGit的设置方法(右键菜单上 TortoiseGit - Settings - General - MSysGit - Path)。 一对公

2、/私钥Msysgit安装一路下一步,除了标红框的地方需要注意以外。配置Msysgit配置用户名和邮箱地址$ git config -global jay$ git config -global user.email jay.ronginesa-用户名作为之后SSH公钥的关键字,务必注意。查看git配置状态$ git config -lcore.symlinks=falsecore.autocrlf=falsecolor.diff=autocolor.status=autocolor.branch=eractive=truepack.packsize

3、limit=2ghelp.format=htmlhttp.sslcainfo=/bin/curl-ca-bundle.crtsendemail.smtpserver=/bin/msmtp.exediff.astextplain.textconv=astextplainrebase.autosquash==jayuser.email=jay.ronginesa-生成SSH公私钥Msysgit Shell生成SSH公私钥(用Egit插件生成公私钥的请略过)-C 后面紧跟着就是之前msysgit配置时的用户名在本地目录下的.ssh目录下会生成2个文件(jay.pub,jay

4、)Jay.pub就是你生成的公钥,将这个文件(jay.pub)发给jay.ronginesa-,让其开通管理员权限。服务器别名配置(可选)在/.ssh目录下新建一个没有后缀名的文件,文件名为config,用UE或记事本打开,输入host git-serveruser githostname 02port 22identityfile /.ssh/jay注意,“git-server”是ssh连接的别名,只要起个你可以记住的名字即可,“02”是代码服务器的地址,目前就是02,identityfilr标记的是你使用的私钥文件名(

5、根据你之前生成的私钥名来配置,不要带.pub后缀)。配置完后保存退出,以后就可以用“git-server”来代替git库的ip域名和登陆用户名了。配置完后,一旦管理员已将你的公钥加入代码库中,你可以通过如下方式验证是否SSH链接是否配置成功。右键-“Git Bash Here”$ssh git-server如果出现上述欢迎信息,恭喜你,已通过ssh安全验证并已成为管理员。代码配置管理库导入项目通过Gitolite来管理git库所有项目的权限,需要在client上把server上的repository clone下来,在本地做一些更改,再push回server,server端的hooks会根据p

6、ush上来的配置来更新权限。Gitolite服务器部署(目前服务器已部署,此步可略过)1. 在git server创建一个专有用户,用于管理git,所有git用户都将使用次用户访问git server。$ useradd git2. 管理员需要在本地自己机器(要做git管理的用户机器)上创建SSH公钥/私钥对。$ ssh-keygen -f /.ssh/git-admin!注意千万不要运行下面的命令将.ssh/git-admin.pub公钥文件追加到远程主机server的user主目录下的.ssh/authorized_keys文件中将管理员的公钥文件拷贝至服务器$ ssh-copy-id -

7、i .ssh/git-admin.pub git02为了方便管理和不至于和其他公钥私钥混淆,先配置下SSH客户端的文件 /.ssh/config,可以通过创建主机别名,在连接主机时,使用特定的公钥。例如 /.ssh/config 文件中的下列配置:host git-serveruser githostname port 22identityfile /.ssh/git-admin3 在服务器上安装gitolite(1) 首先把管理员的公钥copy到服务器上(也可以通过ssh client)scp .ssh/git-admin.pub git-server

8、:/tmp/admin.pub(2) 下载gitolite在git的用户目录下运行git clone (3) 安装gitgit-server $ mkdir bin运行 gitgit-server $ gitolite/install -lngitgit-server $gitgit-server $ lsbin gitolitegitgit-server $ cd bingitgit-server bin$ lsgitolite会在bin下生成一个gitolite可执行文件运行:gitgit-server bin$ gitolite setup -pk /tmp/admin.pubIniti

9、alized empty Git repository in /home/git/repositories/gitolite-admin.git/Initialized empty Git repository in /home/git/repositories/testing.git/12Cant locate Time/HiRes.pm Perl.这是由于PERL安装不完整造成的,在CentOS上可以这样处理:yum install perl-Time-HiRes# 或者更加 BT一点yum install perl* 安装成功后,此命令会在你的/repositories/目录生成两个re

10、pository:gitolite-admin.git和testing.gitgitgit-server $ cd repositories/gitgit-server repositories$ lsgitolite-admin.git testing.gitgitgit-server repositories$ cd .用户目录下生成一个project.list,默认里面有一个testing的git的projectgitgit-server $ more projects.listtesting.gitgitgit-server $安装完毕!配置权限配置权限的过程其实就是管理员使用管理员的

11、pubkey把gitolite-admin克隆到本地,做一些配置修改,然后push到git服务器的过程。一定要用git-admin的pubkey。因为前面已经做了config,所以当连接git-server这台设备时,用的就是git-admin的public key。!注意,上面的命令一定要是git clone git-server:gitolite-admin,而不是:git clone git-server:/home/git/repositories/gitolite-admin更不是:git clone git-server:gitolite-admin.git假如你运行git clo

12、ne git-server:gitolite-admin失败,例如:上面的原因很有可能是因为git server的user主目录下的.ssh/authorized_keys文件,在安装gitolite之前,已经有了你的pubkey,可以把删除掉,只留”#gitolite start”和“gitolite-end”之间的内容。clone完后会有个新的目录gitolite-admin,里面有两个文件夹conf和keydir,第一个目录中包含的是配置文件,里面就是记录权限配置的地方,第二个目录中则包含所有用户的pub key。penxiaoubuntu:/git/gitolite-admin$ ls

13、confkeydirpenxiaoubuntu:/git/gitolite-admin$现在我们打开配置文件,按照我们的权限配置需要进行设置penxiaoubuntu:/git$ vim gitolite-admin/conf/gitolite.conf文件内容如下很简单:repo gitolite-adminRW+=adminrepo testingRW+=all首先gitolite-admin只有admin有读写权限,其他人都不能读写另外一个代码库testing是所有人都可以访问添加新用户首先新用户不需要知道git-server里git用户的SSH密码,所以他们登录不了shell。管理员只需要收集普通用户的public_key,并按照user_id.pub命名好。然后copy到keydir目录中。通过git push回到git-server中即可。在git server上看三个用户的pub key已经加好了。此时user1,2,3能不能ssh到git server的shell呢,答案是不能,他们只能通过git访问git server上他们具有权限的一些代码仓库,当用户试图ssh的时候,会提示错误如下:比如之前说的testing这个代码库是all的权限,也就是任何人都有读写

到此这篇git服务器部署(git 服务器配置)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • samba共享服务端口(samba文件共享端口)2025-03-29 18:36:10
  • py文件打包成exe之后打不开(py文件怎么打包成可执行文件)2025-03-29 18:36:10
  • onnx模型部署(onnx模型部署arm板)2025-03-29 18:36:10
  • nfs客户端软件(win nfs客户端)2025-03-29 18:36:10
  • 操作系统课后(操作系统课后答案汤小丹版)2025-03-29 18:36:10
  • redis的默认端口是(redis默认服务端口)2025-03-29 18:36:10
  • 手机软件后缀exe怎么安装(手机安装exe应用程序)2025-03-29 18:36:10
  • onnx模型部署c语音(onnx加载模型)2025-03-29 18:36:10
  • 前端工程化工具和框架(前端工程化工具和框架工具区别)2025-03-29 18:36:10
  • redis 6380端口(redis端口怎么看)2025-03-29 18:36:10
  • 全屏图片