svn提交自動同步到web服務器

同步程序思路:用戶提交程序到SVN,SVN觸發hooks,按不一樣的hooks進行處理,這裏用到的是post-commit,利用post-commit到代碼檢出到SVN服務器的本地硬盤目錄,再經過rsync同步到遠程的WEB服務器上。 python

知識點: 編程

一、SVN的hooks vim

# start-commit 提交前觸發事務 bash

# pre-commit 提交完成前觸發事務 服務器

# post-commit 提交完成時觸發事務 svn

# pre-revprop-change 版本屬性修改前觸發事務 post

# post-revprop-change 版本屬性修改後觸發事務 事務

經過上面這些名稱編寫的腳本就就能夠實現多種功能了,至關強大。 同步

二、同步命令rsync的具體參數使用 it

三、具備基個語言的編程能力bash python perl均可以實現

post-commit具體實現細節

post-commit腳本

編輯文件:sudo vim /home/svn/fitness/hooks/post-commit

注意:編輯完成post-commit後,執行:sudo chmod 755 post-commit

內容:

#!/bin/sh

export LANG=zh_CN.UTF-8

sudo /usr/bin/svn update /var/www/www --username mirze --password 123456


注意:svn倉庫文件夾的other必需要有執行權限否則腳本沒法執行。SVN update 以前必定要先手動checkout一份出來,還有這裏必定要添加用戶和密碼若是隻是手動同樣會更新,但自動同樣的不行。

相關文章
相關標籤/搜索