1. 程式人生 > >利用svn鉤子hooks/post-commit,實現程式碼更新,自動執行指令碼

利用svn鉤子hooks/post-commit,實現程式碼更新,自動執行指令碼

1. 在svn伺服器對應的專案中會存在以下幾個目錄和檔案

conf  db  format  hooks  locks  README.txt

其中目錄hooks是放置程式碼提交執行的檔案

進入 hooks目錄新建一個 post-commit檔案

檔案內容如下:

#!/bin/bash

REPOS="$1"
REV="$2"

export LANG=zh_CN.UTF-8
echo "Code Deployed at `date "+%Y-%m-%d %H:%M"`" >> /tmp/deploy.log

2.給hooks/post-commit增加執行許可權

chmod +x post-commit

3.重新啟動svn伺服器

4.使用svn客戶端重新檢出程式碼,修改了post-commit檔案一定要重新檢出程式碼,否則post-commit不工作,不生效。

svn co svn://127.0.0.1/test/trunk test

5.在工作目錄,修改程式碼並提交。

登入svn伺服器,在/tmp/deploy.log 就會顯示更新資訊。

如果要自動部署程式碼 

#!/bin/bash

REPOS="$1"
REV="$2"

export LANG=zh_CN.UTF-8
echo "Code Deployed at `date "+%Y-%m-%d %H:%M"`" >> /tmp/deploy.log
/usr/bin/svn update --username ****** --password ****** /data/www/test