利用Hook把Git當網站發佈工具

這裡簡單說一下通過Git的Hook機制來更新網站代碼,這樣你只需要在自己電腦上git push,服務器上的代碼就更新了。
首先,你要有SSH權限。

架設服務器端Git倉庫
apt-get install git
mkdir repo
cd repo
git init –bare

創建本地Git並完成第一次推送
mkdir source
cd source
git init
git add .
git commit -m ‘init’
git remote add origin username@servername:/path/to/repo
git push origin master

最後我們來添加Hook,回到服務器
cd /repo/hooks
vim post-receive

然後填入以下內容,記得把web目錄的路徑替換成你自己的。
#!/bin/sh
GIT_WORK_TREE=/path/to/www git checkout -f

最後記得
chmod +x post-receive
就大功告成啦。

Hook執行的權限是由你用來往repo push的帳號決定的,如果部署不成功請檢查該帳號是否對web目錄具有寫權限。另外post-receive必須有可執行權限,不然什麼都不會發生(我就忘了,檢查了好久,這也是為什麼要寫這篇博客的原因)。

資料來源:http://ftqq.com/2014/04/using-git-as-web-publish-tools/

廣告
發表留言

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: