ubuntu的Linux安裝svn並部署項目,同時實現項目同步更新(本地提交commit,項目目錄自動更新)

第一步:我們先安裝svn

ubuntu下的linux輸入以下命令(溫馨提示:下面的所有命令都是我親自手打的,不知道會不會有錯,自己注意哈)

sudo apt-get install subversion

這樣就安裝好了svn了,很輕鬆吧,那麼現在我們來創建倉儲(也就是你以後的代碼管理都要放到這下面,不過要注意的是提醒一下不是很瞭解svn的同學,這裏存儲的代碼是不可視的,也就是說如果你需要獲取提交上來的代碼不是來這複製的,得通過checkou去獲取)

創建版本庫

sudo mkdir /home/svn  //這個是總的,因爲方便我們以後單獨將每個項目的代碼放到它下面進行統一管理


創建真正的項目版本庫,例如你有個項目,想自己命名爲test,

sudo svnadmin create /home/svn/test

執行上面的代碼之後,到你的linux服務器去看看對應的目錄,執行如下命令
cd /home/svn/test
然後再輸入
ll
是否看到有.svn這樣一個文件(隱藏文件,ls命令是看不到的,ll才能看得到),如果能看到說明已經成功了

這步之後我們就來進行對應的配置了,

執行cd /home/svn/test/conf到我們的項目版本庫配置目錄,
ls會看到好幾個文件,如下:
authz文件是設置用戶權限,passwd文件是存儲用戶及密碼,svnserve.conf是主配置文件

使用vi或者vim命令打開配置文件

authz文件的配置如下圖



passwd配置文件修改如下:



第三就是修改svnserve.conf這個文件了




下面就是開啓svn服務

執行如下代碼:

sudo svnserve -d -r /home/svn


如果想知道svn服務是否已經啓動成功了,可用執行下面的代碼試試就知道了

sudo netstat -antp |grep svnserve
執行上面的代碼後出現有3690的端口,那說明成功了



現在我們來進行svn運行項目代碼自動更新的工作:


執行如下命令,跳轉到對應的配置文件目錄

cd /home/svn/repos/hooks

這裏我假設你項目目錄是 /var/www/html,根據自己的實際情況進行修改

然後創建腳本(這個腳本就是實現代碼自動更的關鍵)


複製配置腳本模板
cp post-commit.tmpl ./post-commit
打開我們剛剛複製的腳本文件
vim post-commit

打開後記得把裏面的內容全部使用#號註釋掉或者全部刪除掉,然後在我們剛剛複製的腳本文件添加如下內容
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
SVN_PATH=/usr/bin
WEB_PATH=/var/www/html
SVN_USER=xiaowang
SVN_PASS=123456
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
exit 0


上面腳本里面的/var/www/html根據自己實際情況填寫


好了,下面就在本地進行checkout ,然後進行commit操作,再去試試看吧,如果不出意外,你自己本地提交修的東西,你指定的項目目錄會有一模一樣的東西,方便吧?比起以前用ftp方便多了,而且這個還能解決幾個人同時修改衝突的問題


添加一點:擔心連svn都不會登陸的孩子,

如果連自己linux服務器ip是多少都不知道的,自己在linux上執行命令ifconfig就能看到了




如果還有什麼不清楚的,記得給我留言,因爲我經常玩csdn,會及時回覆的,







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章