天天看點

svn上線運用(三)

一、小公司開發送出代碼上線圖

<a href="http://s3.51cto.com/wyfs02/M01/6E/93/wKiom1V_5Cah5j84AAar7_1zXcQ373.jpg" target="_blank"></a>

二、鈎子腳本

鈎子腳本隻幹兩件事,1是svn項目的内容同步到本地的/data/www目錄下;2通過rsync把/data/www的内容推到/tmp上,由于是在本機測試故放在/tmp下,如果線上上生産,會寫上對方面web伺服器IP位址:某個目錄下

[root@svn hooks]# pwd

/application/svndata/sadoc/hooks

[root@svn hooks]# ll

-rw-r--r-- 1 root root 1977 6月  15 16:42 post-commit.tmpl

-rw-r--r-- 1 root root 1638 6月  15 16:42 post-lock.tmpl

-rw-r--r-- 1 root root 2289 6月  15 16:42 post-revprop-change.tmpl

-rw-r--r-- 1 root root 1567 6月  15 16:42 post-unlock.tmpl

-rw-r--r-- 1 root root 3426 6月  15 16:42 pre-commit.tmpl

-rw-r--r-- 1 root root 2410 6月  15 16:42 pre-lock.tmpl

-rw-r--r-- 1 root root 2786 6月  15 16:42 pre-revprop-change.tmpl

-rw-r--r-- 1 root root 2100 6月  15 16:42 pre-unlock.tmpl

-rw-r--r-- 1 root root 2780 6月  15 16:42 start-commit.tmpl

[root@svn hooks]# cp post-commit post-commit.bak

[root@svn hooks]# vim post-commit

PEPOS="$1"

REV="$2"

export LANG=en

#update content from svn

SVN=/usr/bin/svn

$SVN update --useranme qingyun --password 168 /data/www

if [ $? -eq 0 ]

        then

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

fi

REPOS="$1"

[root@svn hooks]# # mkdir -pv /data/www

把svn項目的内容同步到本地的/data/www目錄下

[root@svn hooks]# svn co svn://192.168.1.220/sadoc --username qingyun --password 168 /data/www

A    /data/www/trunk

A    /data/www/trunk/test

A    /data/www/trunk/test/tom.rar

A    /data/www/trunk/test/tom.txt

A    /data/www/lession001.txt

A    /data/www/lession002.txt

A    /data/www/branch

A    /data/www/tags

三、測試

1、用戶端D:\oldboy\trunk下建個檔案love

<a href="http://s3.51cto.com/wyfs02/M01/6E/90/wKioL1V_7nbzA9rbAAI7BtUroq0071.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/6E/90/wKioL1V_7suBLPNpAAMb3ltszNM888.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/6E/90/wKioL1V_7wnAkBbVAAFjQCpXHJQ446.jpg" target="_blank"></a>

2、回到SVN伺服器

[root@svn hooks]# tree /data/www

/data/www

├── branch

├── lession001.txt

├── lession002.txt

├── tags

└── trunk

    └── test

        ├── 123.txt

        ├── jerrry.txt

        ├── love.txt

        └── tom.txt

[root@svn hooks]# tree /tmp

/tmp

├── 0452.log

├── 04S.log

├── 0644.log

├── 1224.log

├── 1548.log

├── lost+found

└── www

    ├── branch

    ├── lession001.txt

    ├── lession002.txt

    ├── tags

    └── trunk

        └── test

            ├── 123.txt

            ├── jerrry.txt

            ├── love.txt

            └── tom.txt

本文轉自 zouqingyun 51CTO部落格,原文連結:http://blog.51cto.com/zouqingyun/1662432,如需轉載請自行聯系原作者