CentOS 7 Git服务器搭建

来源:互联网 发布:狸窝照片制作软件 编辑:程序博客网 时间:2024/06/05 18:47

一、Git服务器搭建

1. 安装Git
yum install -y git
2. 添加新用户
adduser git
3. 创建空的Git仓库
cd /home/gitgit init --bare test.gitchown -R git:git ../git
4. 在服务器端打开RSA认证

创建用于存放客户端公钥的文件

cd /home/git mkdir .sshcd .sshtouch authorized_keys 
5. 客户端创建SSH key

windows 打开 git-bash

ssh-keygen -t rsa -C "a@qq.com"

该命令会在用户主目录的.ssh文件夹下生成两个文件:用于保存私钥的id_rsa和用于保存公钥的id_rsa.pub。
windows在 C:\Users\Administrator\.ssh 目录下

6.把步骤5生成的公钥导入服务器
cat id_rsa.pub >> /home/git/.ssh/authorized_keys
7.在客户端clone远程git仓库

修改为GIt服务器的IP

git clone ssh://git@127.0.0.1/home/git/test.git 

客户端测试

cat 'a' > a.htmlgit add a.htmlgit commit -m'first commit'git push origin master

二、配置钩子

1. 设置clone帐号的SSH key

我用的lnmp的环境 用户为 www

sudo -u www ssh-keygen -t rsa -C "b@qq.com"cat id_rsa.pub >> /home/git/.ssh/authorized_keys

2. 设置Git用户使用www用户clone

设置了 /etc/sudoers 添加:

git ALL=(ALL) NOPASSWD: ALL

进入网站目录拉取

su gitsudo -u www git clone ssh://git@127.0.0.1/home/git/test.git 

3. 配置钩子

cd /home/git/test.git/hooks/vim post-receive

/home/wwwroot/www/test/ 为网站目录,添加如下:

#!/bin/bashexport LANG=zh_CN.UTF-8cd /home/wwwroot/www/test/unset GIT_DIR sudo -u www git pull origin master

保存后

chown git:git post-receivechmod +x post-receive
原创粉丝点击