linux部署git服务器

https://blog.csdn.net/UtopiaOfArtoria/article/details/86002916

步骤一 :window上安装git服务器

1.安装git客户端

2.ssh-keygen -t rsa -b 4096 -C “xx@xx.com”(生成密钥,操作步骤直接回车即可)

3.客户端安装sourcetree,并且配置免密码登陆(工具->选项->ssh客户端配置 ssh密钥路径选择刚刚生成的id_rsa路径,选择openssh)

 

步骤二 : linux上配置git服务器

1.查看服务器git版本 git --version ,如果没有则安装git

2.创建一个git账户,,这时候 home目录下 会有一个git目录生成,

3.禁止 git 用户 ssh 登录服务器

 

4.指定git生效路径,将sshd_config里边的三项(.ssh/authorized_keys 由于当前用户为git 所以完整路径为 /home/git/.ssh/authorized_keys,这个文件要有执行权限),这一步很关键,之前连接不上就是因为这一步少了

 

5.创建 .ssh目录,然后创建authorized_keys文件,将客户端刚刚生成的密钥文件 上传到当前目录,然后把公钥的内容追加到authorized_keys文件

6.将.ssh目录 设置成git目录

 

步骤三 : 创建git仓库

1.在/home/git目录下 创建 mydw.git(仓库地址 自定义)文件夹,切记mydw.git目录设置所属用户组为git(又被坑了一次) 创建一个裸库 git init --bare 与 git init的区别自行百度

2.在站点根目录 拉取下git仓库的代码(这一步为什么会带个仓库目录不明白),如果要实现免登陆 ,可以和客户端一样的操作

步骤四 : 创建同步钩子 (一天都没有搞定,不知道哪里错了,有人说是搞另外两个文件pre-receive和post-receive)

    1.cp post-update.sample post-update #创建自动部署脚本文件

    2.post-update 内容

 

补充:(这个方法试过一次可以)

//在该文件里输入以下内容

!/bin/bash

git --work-tree=/home/www checkout -f

//保存退出后,将该文件用户及用户组都设置成git

chown git:git post-receive
//由于该文件其实就是一个shell文件,我们还应该为其设置可执行权限
chmod +x post-receive

现在我们可以在本地计算机中修改index.php文件,或者添加一个新文件,提交到远程仓库,然后到/home/www下面,看看有没有我们刚才提交的文件。



作者:Mr_敬zZ
链接:https://www.jianshu.com/p/7a695fe06b18
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

posted @ 2019-01-20 09:08  西伯利亚狼520  阅读(173)  评论(0)    收藏  举报