搭建git服务器

本地window,服务器linux(centos)

root用户

1.安装git

yum install git -y

2.创建git用户并设置密码

useradd git

passwd git

这时候/home下生成git目录

3.创建仓库

mkdir /home/data

cd /home/data

git --bare init 初始化git仓库

4.通过秘钥方式实现免密码认证

cd /home/git

mkdir .ssh chmod 700 .ssh

创建秘钥文件,设置权限并设置所属git用户

cd .ssh touch authorized_keys chmod 600 authorized_keys

chown git:git -R /home/git/.ssh/

公钥配置路径在/etc/ssh/sshd_config,找到AuthorizedKeysFile可查看配置路径

5.window本地找到公钥证书

cd /c/Users/Administrator/.ssh

如果没有证书,ssh-keygen -t rsa -C "xxxxxxxx@qq.com"生成

cat id_rsa.pub

证书内容复制到第四步的authorized_keys文件内

多个客户端的话证书都一并复制到这个文件中换行隔开就好

6.本地克隆项目

本地直接git clone git@192.168.23.130:/home/data (git@域名:项目仓库)无需验证

7.服务器修改钩子文件,本地提交,git服务器仓库代码自动拉取到项目(git仓库和项目是同一台服务器)

mkdir /home/project 创建服务器项目目录

cd /home/project

git clone /home/data

这时候项目拉取到了/home/project/data下

vim /home/data/hooks/post-receive 如果只有post-receive.sample,拷贝一份名字为post-receive打开

复制下面内容到文件尾

#!/bin/sh

unset GIT_DIR

NowPath=`pwd`

DeployPath="/home/project/data"

cd $DeployPath

git pull origin master

cd $NowPath

exit 0

然后给钩子文件添加执行权限

chmod a+x /home/data/hooks/post-receive

修改仓库与项目的所属组与所属用户为git

chown -R git:git /home/data

chown -R git:git /home/project/data

这时候,本地提交代码后,服务器/home/data-project/data就有自动拉取提交的代码

8.禁止git用户shell登录

vi /etc/passwd

git:x:501:501::/home/git:/bin/bash

改为

git:x:501:501::/home/git:/bin/git-shell

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值