git服务器搭建post-receive 钩子部署服务端代码
①、git服务器搭建
安装git
apt-get install git
创建git用户
adduser git passwd git //修改git用户密码
创建git仓库
cd /home mkdir git mkdir ./git/.ssh touch./git/.ssh/authorized_keys cd /home/git git init --bare test.git //初始化仓库 chown -R git:git ../git
使用git用户生成git密钥(把客户端的公钥(id_rsa.pb文件内容)添加到authorized_keys文件,git push操作就不需要每次都输入密码了)
sudo -u git ssh-keygen -t rsa -C “test@qq.com” //生成密钥 cd /home/git/.ssh cat id_rsa.pub>>authorized_keys //把公钥加入authorized_keys文件
创建web目录
cd /home git clone ssh://git@127.0.0.1/home/git/test.git chown -R git:git test
编写自动更新钩子
cd /home/git/test.git/hooks/ vim post-receive
#!/bin/sh cd /home/test/ unset GIT_DIR git pull origin master
给钩子文件添加执行权限
cd /home/git/test.git/hooks/ $ chmod +x post-recevie
②、以上步骤完成git服务器就已经搭建好了,下面来讲一下客户端的使用操作
首先生成客户端密钥,且把公钥复制到authorized_keys文件里
ssh-keygen -t rsa -C "test@qq.com" //生成密钥 cat /userdir/.ssh/id_rsa.pub // 把显示的内容复制到服务端的authorized_keys文件里
然后把git仓库拷贝下来
git clone ssh://git@123.456.78.9/home/git/test.git
测试操作(git push完成后git自动对web目录做git pull操作)
cd test git pull origin master touch test.txt git add . git commit -m "test" git push origin master