1. 程式人生 > >svn上傳文件鉤子

svn上傳文件鉤子

同步 post 測試 就是 username tmp目錄 結合 password 更改

svn鉤子

鉤子腳本就是shell的寫法,鉤子就是被某些版本庫事件觸發的程序。

常用鉤子:

post-commit:在提交完成成功創建之後執行該鉤子。(提交已經完成,不可更改)

更新之後,通過郵件、微信通知

更新觸發checkout程序、然後推送到服務器

pre-commit:提交完成前觸發執行該腳本。

限制上傳文件的大小和拓展名,控制提交要輸入的信息

下面寫一個小例子:

rsync與svn鉤子結合實現數據實時同步到服務器

1、建立同步web目錄

mkdir /data/www

2、將svn中內容checkout到web目錄中

svn co svn://ip/sadoc /data/www --username=syk --password=syk123

3、設置鉤子

cp post-commit.tmpl post-commit

4、編寫腳本

1)、> post-commit

2)、chmod 700 post-commit

3)、vim post-commit添加:

#!/bin/bash

REPOS="$1"

REV="$2"

export LANG=en_US.UTF-8

LOGPATH="/tmp/log"

[ ! -d ${LOGPATH} ] && mkdir ${LOGPATH} -P

SVN=/usr/bin/svn

$SVN update --username syk --password syk123 /data/www

if [ $? -eq 0 ]

then

/usr/bin/rsync -az --delete /data/www /tmp/

fi

5、測試

這時我們在svn上新建一個文件並提交,在tmp目錄下就可以看到有這個新建的文件。

svn上傳文件鉤子