歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> LINUX安裝SVN+添加自動同步

LINUX安裝SVN+添加自動同步

日期:2017/3/1 16:16:00   编辑:關於Linux
LINUX安裝SVN+添加自動同步 1. 新建一個用戶:svnroot ,以下操作非特別說明皆為root用戶操作 --------------------- #這個用戶可以用來後面專門FTP遠程下載該服務器上的代碼的賬號 groupadd svn useradd svnroot -g svn passwd svnroot xxx --------------------- 2.進入/home/svnroot 目錄,然後下載SVN,並解壓 --------------------- cd /home/svnroot wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz tar -xzvf subversion-1.6.17.tar.gz tar -xzvf subversion-deps-1.6.17.tar.gz --------------------- 3.編譯安裝 --------------------- cd subversion-1.6.17 ./configure --prefix=/usr/local/svn Make Make install (/usr/local/svn/bin/svnserve --version 查看有沒有安裝成功) --------------------- 4.建立版本庫 --------------------- mkdir -p /home/svnroot/svndata/repos1 //創建目錄,home/svnroot/svndata 是所有倉庫的根目錄 repos1是其中的一個倉庫 svnadmin create /home/svnroot/svndata/repos1 //困惑的地方我在虛擬機裡面能直接使用svnadmin 但是到了阿裡雲的機器上則不能直接使用了,提示命令找不到 那我就采用了usr/local/svn/bin/svnadmin create /home/svnroot/svndata/repos1 //添加svnadmin 到環境變量 我不知道對不對 exprot PATH=$PATH:/usr/local/svn/bin 隨著項目越來越多,容納到SVN進行管理的東西也越來越多,包括公司資料,網站原始日志,產品圖片,項目源碼。 如果按照這種方式來處理的話,一個倉庫是肯定不夠的,因此打算創建多個倉庫 在server端,新建一個目錄用來存放所有的倉庫。比如/usr/local/svnrepos. 然後在這個目錄下建立每個項目獨立 svnadmin create /usr/local/svnrepos/code svnadmin create /usr/local/svnrepos/information 使用 svnserve -d -r /usr/local/svnrepos 啟動。這樣你的項目的url是: svn://IP/code svn://IP/information --------------------- 5.配置倉庫 --------------------- cd /home/svnroot/svndata/repos1/conf vi svnserve.conf 打開這個配置文件,可以看到很多配置項已經注釋掉了,只需要按下面這幾項前面的注釋去掉(前面不能有空格) [general] anon-access = none(這裡默認是read 改成none,即為匿名用戶可以訪問) auth-access = write password-db = passwd authz-db=authz vi passwd 添加用戶和密碼 [users] User=passwd 格式為,用戶=密碼 vi authz [repos1:/] username = rw --------------------- 6.啟動SNV --------------------- svnserve -d -r /home/svnroot/svndata netstat -anp|grep svnserve //查看SVN 端口號 默認是3690 --------------------- 7.把svn的bin目錄加入到環境變量之中 --------------------- vi /etc/profile 添加export PATH="$PATH:/usr/local/svn/bin" 保存退出之後運行source /etc/profile 然後執行svnserve --version 查看是否生效 --------------------- 8.設置SVN自啟動 --------------------- 在/etc/rc.d/rc.local文件中增加這麼一行 svnserve -d -r /home/svnroot/svndata & ---------------------- 9.把SVN的代碼檢出一份 ---------------------- #因為前面建立一個svnroot的身份,這裡繼續在svnroot的家目錄進行操作 svn co svn://xx.xx.xxx.xxx/repos1 /home/svnroot/checkout/ --username zmk #下面所有的xx.xx.xxx.xxx均表示服務器IP #第10步之前必須進行第9步,因為更新是建立在檢出之上的 ---------------------- 10.實現SVN提交完畢後自動同步 ---------------------- post-commit #!/bin/bash export LANG="zh_CN.UTF-8" svn update /home/svnroot/checkout/ --username zmk --password xxx chmod 777 post-commit #別忘記了修改這個腳本的執行權限 ---------------------- 11.安裝ftp ---------------------- #參考http://www.2cto.com/os/201306/223798.html yum install vsftp chkconfig vsftpd on service vsftpd restart #別忘記了touch chroot_list ---------------------- 12.寫在服務器B上的腳本 ---------------------- #!/bin/sh cd /mnt/hgfs/code/svntest/xx.xx.xxx.xxx/ rm -rf *.* wget -m -np ftp://svnroot:@xx.xx.xxx.xxx/checkout/ cd xx.xx.xxx.xxx/checkout find . -name ".svn" -type d | xargs rm -rf
Copyright © Linux教程網 All Rights Reserved