centos7安装git自动化网站发布

1:基础环境

1,git git安装:#yum install -y git

2:服务器端

1,创建git仓库

[root@ovensbb /]# mkdir /home/workspace

[root@ovensbb /]# cd /home/workspace/

[root@ovensbb workspace]# git init –bare wwwroot.git

初始化空的 Git 版本库于 /home/workspace/wwwroot.git/

2,创建网站根目录

[root@ovensbb workspace]# cd /

[root@ovensbb /]# mkdir -p /home/website/wwwroot

3:本地端

1,初始化本地仓库

E:\ mkdir gitwww

E:\ cd gitwww

E:\gitwww\ git init

2,克隆服务器端的仓库

E:\gitwww\ git clone ssh://root@192.168.31.56/home/workspace/wwwroot.git

4:服务器端配置hook钩子

[root@ovensbb hooks]# cd /

[root@ovensbb /]# cd /home/workspace/wwwroot.git/hooks

[root@ovensbb hooks]# cat > post-receive <<EOF

#!/bin/bash

git –work-tree=/home/website/wwwroot checkout -f

EOF

[root@ovensbb hooks]# chmod +x post-receive

5:本地推送一次

E:\gitwww\wwwroot>git remote add origin ssh://root@192.168.31.56/home/workspace/wwwroot.git

E:\gitwww\wwwroot>echo “hello gitweb” > index.html

E:\gitwww\wwwroot>git add index.html

E:\gitwww\wwwroot>git status

On branch master

Initial commit

Changes to be committed:

(use “git rm –cached …” to unstage)

    new file:   index.html

E:\gitwww\wwwroot>git commit -m “my first push”

[master (root-commit) 656cc86] my first push

1 file changed, 1 insertion(+)

create mode 100644 index.html

E:\gitwww\wwwroot>git push origin master

root@192.168.31.56‘s password:

Counting objects: 3, done.

Writing objects: 100% (3/3), 229 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To ssh://root@192.168.31.56/home/workspace/wwwroot.git

  • [new branch] master -> master

6:服务器端检查

[root@ovensbb wwwroot]# cd /

[root@ovensbb /]# cd /home/website/wwwroot

[root@ovensbb wwwroot]# ls

index.html

[root@ovensbb wwwroot]# cat index.html

“hello gitweb”

————————————-大功告成————————————————-

使用ssh协议从服务器上克隆裸版本库内容,这里如果没有配置公钥的话,会提示输入密码