设为首页 收藏本站
查看: 735|回复: 0

[经验分享] centos(Subversion) + windows(TortoiseSVN)

[复制链接]

尚未签到

发表于 2018-6-21 08:21:10 | 显示全部楼层 |阅读模式
  一.安装
  yum install subversion
  二.配置
  本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。
  所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。
  1. 建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)
  mkdir –p /home/svn/repos
  #类似可以创建 mkdir –p /home/svn/repos2 /home/svn/repos3
  2. 建立svn版本库(与上面目录对应)
  svnadmin create /home/svn/repos
  执行此命令后svn自动在repos目录下添加必须的配置文件.
  注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.
  此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。
  3. 修改版本库配置文件
  vi /home/svn/repos/conf/svnserve.conf
  各参数功能在配置文件的注释中有说明, 此处配置如下:
  [general]
  anon-access = none # 使非授权用户无法访问
  auth-access = write # 使授权用户有写权限
  password-db = passwd # 指明密码文件路径
  authz-db = authz # 访问控制文件
  realm = /home/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
  其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.
  4. 配置用户
  vi /home/svn/repos/conf/passwd
  输入以下内容:
  [users]
  username1 = password1
  username2 = password2
  可以添加多个,此为用户名密码对。
  5. 配置权限
  vi /home/svn/repos/conf/authz
  此配置文件设置各用户的授权。
  包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:
  #对仓库repos根目录权限设置
  [repos:/]
  user1 = rw
  user2 = r
  6. 使用import导入文件
  新建好的版本库是空的,需要导入工作目录。
  //这条语句将把路径/home/user/code下找到的文件导入到你创建的 Subversion 仓库中去
  svn import /home/code/ file:///home/svn/repos/ -m “注释”
  三.启动服务
  svnserve -d -r /home/svn/
  svn checkout svn://ip/repos
  下面是随便折腾一个小脚本用来管理服务器的启动、重启、停止等操作
  # vim svn
  # chmod +x svn
#!/bin/bash  
case "$1" in
  
start)
  
svnserve -d -r /svndata
  
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
  
if [ $svnport -eq 3690 ]
  
then
  
echo "SVN Server Already Runnning. Port:3690"
  
else
  
echo "SVN Server Does Not Start"
  
fi
  
;;
  
reload)
  
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
  
if [ $svnport -eq 3690 ]
  
then
  
killall svnserve && svnserve -d -r /svndata
  
echo "Reload OK"
  
else
  
echo "SVN Server Is Not Running"
  
fi
  
;;
  
stop)
  
killall svnserve
  
echo "SVN Server Has Been Stopped"
  
;;
  
status)
  
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
  
pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
  
if [ $svnport -eq 3690 ]
  
then
  
echo "SVN Server (pid:$pid) 正在运行..."
  
else
  
echo "SVN Server 停止运行..."
  
fi
  
;;
  
*)
  
echo "$0: Usage: $0 {start|status|stop|reload}"
  
exit 1
  
;;
  
esac
  该脚本使用方法我想应该不用多说了,全文完。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-528469-1-1.html 上篇帖子: Windows Azure 虚机密码忘记处理 下篇帖子: 将Windows文件挂在到Linux上
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表