Ubuntu16.04 搭建SVN服务器(建立版本仓及import和checkout代码)
Ubuntu16.04 搭建SVN服務(wù)器(建立版本倉及import和checkout代碼)
?
1.????安裝subversion
sudo apt-get install subversion
2.????創(chuàng)建版本倉庫(可以根據(jù)需要?jiǎng)?chuàng)建多個(gè))
cd /home/svn/repos/qcom
svnadmin create mghl8937(倉庫里面可以放很多項(xiàng)目)
3.????配置版本倉
我們主要關(guān)心的是conf和db文件,conf文件夾下是存放主配置文件和用戶、權(quán)限位置,db文件夾是存放svn轉(zhuǎn)儲(chǔ)后的數(shù)據(jù)。
3.1??主配置文件svnserve.conf
[general]
#定義非授權(quán)用戶的訪問權(quán)限,有三種方式: none 、 read 、 write,設(shè)置為 none 限制訪問, read 為只讀, write 為具有讀寫權(quán)限,默認(rèn)為 read 。
anon-access = read
#定義授權(quán)用戶的訪問權(quán)限,有三種方式:none 、 read 、 write ,設(shè)置為 none 限制訪問, read 為只讀, write 為具有讀寫權(quán)限,默認(rèn)為 write 。
auth-access = write
#密碼文件為passwd,用戶信息存放文件,默認(rèn)在版本庫/conf下面,也可以絕對(duì)路徑指定文件位置
password-db = passwd
#權(quán)限文件為authz
authz-db = authz
?
3.2??存儲(chǔ)用戶及密碼的passwd文件
#格式是用戶名=密碼,采用明文密碼
[users]?
cky = 123?
lsy = 456?
?
3.3??設(shè)置用戶權(quán)限的authz文件
[groups]????????? #定義組的用戶
project_group = cky,lsy#定義cky和lsy屬于project_group,有讀寫權(quán)限
[mghl8937:/]??? # project_group對(duì)mghl8937版本庫下/目錄(根目錄)有讀寫限
?@ project_group= rw
4.????啟動(dòng)svn服務(wù)
4.1??一次性啟動(dòng)
svnserve -d -r /home/svn/repos/qcom?? (不要帶上版本倉庫)
如果是svnserve -d -r /home/svn/repos,那么checkout就用svn co svn://192.168.150.129/qcom/mghl8937
其中 -d 參數(shù)讓 svnserve 運(yùn)行在后臺(tái),-r 參數(shù)限定了數(shù)據(jù)倉庫,在網(wǎng)絡(luò)上可以訪問的地址。
/home/svn/repos/qcom指定svn數(shù)據(jù)倉庫存放的目錄位置
4.2??開機(jī)啟動(dòng)
在目錄/etc/init.d/下添加腳本startsvn.sh
???????#!/bin/bash
???????svnserve -d -r /home/svn/repos/qcom
執(zhí)行命令update-rc.d starsvn.sh defaults,將腳本添加到自啟動(dòng)項(xiàng)目中。
insserv: script startsvn.sh is not anexecutable regular file, skipped!
chmod 777 startsvn.sh修改權(quán)限后提示
insserv: warning: script 'startsvn.sh'missing LSB tags and overrides
查看是否啟動(dòng)成功,可看監(jiān)聽的3690端口
netstat -antp |grep svnserve
如果想關(guān)閉服務(wù),可使用pkill svnserve
?
5.????導(dǎo)入源代碼到版本庫
源代碼路徑:/home/svn/src/qcom/mghl8937
svn import --no-ignore /home/svn/src/qcom/mghl8937file:///home/svn/repos/qcom/mghl8937 -m “導(dǎo)入代碼”
?
6.????從版本倉導(dǎo)出源代碼
svn co svn://192.168.150.129/mghl8937
?
7.????查看提交log提示無法查看
在windows端通過show log查看,提示:
在ubuntu端用svn log查看,提示
svn: E220001: Item is not readable
?
有兩種解決方法:
(1)??版本倉庫conf/authz文件增加[/] * = r
[/]
* = r
(2)??版本倉庫conf/svnserve.conf文件將anon-access = read改為anon-access = none。也就是其他人權(quán)限設(shè)置為不允許訪問。
?
參考鏈接
http://blog.csdn.net/u012041204/article/details/76355063
https://stackoverflow.com/questions/6651997/svn-show-log-not-working
?
總結(jié)
以上是生活随笔為你收集整理的Ubuntu16.04 搭建SVN服务器(建立版本仓及import和checkout代码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN10映射ubuntu1604共享目
- 下一篇: ubuntu1604编译android5