部署Git版本控制系統
部署Git版本控制系統,管理網站代碼,實現如下效果:
基於SSH協議的服務器
基於Git協議的服務器
基於HTTP協議的服務器
上傳代碼到版本倉庫
方案
生產環境應該有一臺獨立的Git服務器,這裏爲了節約主機資源,我們使用數據庫主機同時做完Git服務器,如圖-1所示。
圖-1
主機配置如表-1所示。
表-1
1.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:部署SSH協議的版本控制服務器
1)安裝軟件包,創建空倉庫。
[root@database ~]# yum -y install git
[root@database ~]# mkdir /var/git/
[root@database ~]# git init --bare /var/git/wordpress.git #創建空倉庫
2)登陸web1服務器克隆git倉庫,上傳網站代碼到git服務器。
[root@web1 var]# git config --global push.default simple
[root@web1 var]# git config --global user.email [email protected]
[root@web1 var]# git config --global user.name "Your Name"
[root@web1 var]# cd /var/
[root@web1 var]# git clone [email protected]:/var/git/wordpress.git
[root@web1 var]# cd /var/wordpress
[root@web1 wordpress]# cp -a /usr/local/nginx/html/* ./
[root@web1 wordpress]# git add .
[root@web1 wordpress]# git commit -m "wordpress code"
[root@web1 wordpress]# git push
[email protected]'s password:<輸入192.168.2.21主機root的密碼>
步驟二:部署Git協議的版本控制服務器
1)安裝軟件包(192.168.2.21操作)
[root@database ~]# yum -y install git-daemon
2)修改配置文件,啓動Git服務
[root@database ~]# vim /usr/lib/systemd/system/[email protected]
修改前內容如下:
ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd –verbose
修改後內容如下:
ExecStart=-/usr/libexec/git-core/git-daemon --base-path=/var/git --export-all --user-path=public_git --syslog --inetd –verbose
[root@database ~]# systemctl start git.socket
[root@database ~]# systemctl status git.socket
3)客戶端測試(使用web2做完客戶端主機,192.168.2.12)
在web2執行clone等同於是把代碼又備份了一份。
[root@web2 ~]# cd /var/
[root@web2 var]# git clone git://192.168.2.21/wordpress.git
步驟三:部署HTTP協議的版本控制服務器
1)安裝軟件包(192.168.2.21操作)
[root@database ~]# yum -y install httpd gitweb
2)修改配置文件
[root@database ~]# vim /etc/gitweb.conf
$projectroot = "/var/git"; #添加一行
3)啓動服務
[root@database ~]# systemctl start httpd
4)客戶端驗證
[root@room9pc01 ~]# firefox http://192.168.2.21/git
訪問網頁可以查看到wordpress倉庫,點擊tree菜單後可以看到如圖-2所示的代碼。