一.搭建步骤,分为两步
搭建中心仓库
自动同步代码到站点目录
二.详细步骤如下
1.先检查一下服务器上有没有安装git
git --version
如果出现版本号,说明服务器已经安装git,如图所示:
2.如果没有版本信息,则先安装git:
yum install git
直接一路回车就行,再用git --version检查是否安装成功
3.创建git用户组
groupadd git
4.创建git用户(我使用的是kevin),并分配到git用户组中
adduser kevin -g git
5.为用户设置密码
passwd kevin
6.创建证书登录
在windows上也安装一下git,使用git命令行创建ssh证书
ssh-keygen -t rsa "1747956669@qq.com"
分别会在windows中C盘目录下生成如下文件
7.将公钥id_rsa.pub上传到linux服务器,可以使用putty或者winscp,或者直接使用宝塔面板上传
8.在linux上创建一个中央仓库,之前因为创建一个kevin用户,所以在linux的根目录下home目录会自动生成一个kevin目录,进入到该目录里面
cd /home/kevin
创建一个中央仓库目录,给kevin设置用户权限,初始化仓库,并将仓库所属用户修改为git
mkdir datachown kevin:git datachown -R kevin:git data
至此中央仓库以及建立完成
9.在生成的kevin目录下创建一个.ssh文件,进入该目录创建ssh验证文件
mkdir .sshcd .sshtouch authorized_keys
追加公钥到authorized_keys中
cat id_rsa.pub >> authorized_keys
10.本地拉取中央仓库代码,xxx.xxx.xxx.xxx是你的服务器公网ip地址
git clone kevin@xxx.xxx.xxx.xxx:/kevin/home/data
拉取成功
11.进入data目录,添加一个test.txt文件,提交推送到git服务器,打开bash
echo "test" >> test.txt//查看git状态git status//添加git add -A//提交git commit -m "第一次提交"//推送(第一次推送使用如下命令)git push --set-upstream origin master//后续推送直接使用git push
12.将提交的代码自动同步到网站站点/www/wwwroot/project_git,首先进入到/home/kevin/data目录
进入hooks目录,创建自动同步shell命令文件
vim post-receive//输入一下内容#!/bin/bashgit --work-tree=/www/wwwroot/project_git checkout -f //保存退出,给该文件增加权限chown kevin:git post-receivechmod +x post-receive
给project_git文件添加权限
chown -R kevin:git project_git
13.至此完成在阿里云创建git中心服务器,提交代码推送并成功同步到站点目录