Git 是一個(gè)版本管理系統(tǒng),很多企業(yè)和團(tuán)隊(duì)都用 Git 來管理自己的代碼庫、進(jìn)行協(xié)作。Git 提供了很多 Hook,可以讓我們?cè)谶M(jìn)行完某個(gè) Git 操作之后,自動(dòng)執(zhí)行一些命令,使用這些 Hook,我們可以直接通過 Git 來部署網(wǎng)站。下面我們來簡(jiǎn)要的說明一下利用 Git 自動(dòng)部署 WordPress 站點(diǎn)到服務(wù)器的主要步驟。
1、安裝 openssh服務(wù)器
很多服務(wù)器都已經(jīng)內(nèi)置了 SSH 服務(wù)器和客戶端,一般情況下,這一步都是可以省略的。
sudo yum install openssh-server openssh-client
2、創(chuàng)建個(gè)人公鑰和私鑰
在默認(rèn)用戶的主目錄路徑下,運(yùn)行以下命令,按照提示創(chuàng)建公鑰和私鑰:
ssh-keygen -t rsa
默認(rèn)生成 2048 位密鑰,如果需要提高安全級(jí)別,也可以通過下面的命令創(chuàng)建公鑰和私鑰:
ssh-keygen -t rsa -b 4096
默認(rèn)情況下,公鑰和私鑰會(huì)保存在~/.ssh目錄下,如下所示:
id_rsa id_rsa.pub known_hosts
一定要保存好這一對(duì)密鑰,特別是私鑰、絕對(duì)不能泄露出去,把公鑰里面的內(nèi)容添加到服務(wù)器的 ~/.ssh/knwn_hosts 文件中,id_rsa 下載到本地,供我們通過密鑰認(rèn)證訪問服務(wù)器的時(shí)候使用。
3、使用 Gogs 配置 Git 服務(wù)器
Gogs 目前可能是安裝配置最簡(jiǎn)單的 Git 服務(wù)器了,整個(gè)安裝過程只需要一個(gè)命令。
sudo rpm --import https://rpm.packager.io/key
echo "[gogs]
name=Repository for pkgr/gogs application.
baseurl=https://rpm.packager.io/gh/pkgr/gogs/centos6/pkgr
enabled=1" | sudo tee /etc/yum.repos.d/gogs.repo
sudo yum install gogs
然后訪問 http://你的服務(wù)器 IP 地址:3000 來訪問 Gogs 基于 Web 界面的 Git 倉庫管理工具,簡(jiǎn)單的設(shè)置之后,我們就可以創(chuàng)建自己的 Git 倉庫了,這一步基于一個(gè)類似 WordPress 的 Web 安裝界面,非常簡(jiǎn)單,這里就不多說了。
4、Git 倉庫更新的時(shí)候自動(dòng)檢出、更新服務(wù)器上面的網(wǎng)站代碼
通過 Git 提交網(wǎng)站更新后,我們可以通過 Git 的 post-receive hook 來更新自動(dòng)檢出更新的代碼就可以了,編輯 你自己的 Git 倉庫中的hooks/post-receive,復(fù)制下面的代碼到這個(gè)文件中、并根據(jù)自己的實(shí)際情況修改。
#!/bin/sh
site=/home/wwwroot/wpzhiku.com //這是服務(wù)器上網(wǎng)站的根目錄
export GIT_WORK_TREE=$site
git checkout -f
以上4步進(jìn)行完之后,整個(gè)基于 Git 發(fā)布網(wǎng)站的流程已經(jīng)設(shè)置好了,我們只需要檢出倉庫,然后把 WordPress 站點(diǎn)放進(jìn)去,然后提交更新、很快,服務(wù)器上的代碼就自動(dòng)更新了,非常方便。



看來你這篇文章,原來這么簡(jiǎn)單啊。。很久以前我尋思搗鼓過,還在segmentfault上提問了,后來還是沒解決。
好久沒來了,也都變成https了啊,現(xiàn)在越來越多的個(gè)人都有了。