zoukankan      html  css  js  c++  java
  • 搭建SVN服务器

    一、搭建svn环境并创建仓库:

    1,安装Subversion;

    # yum install -y subversion

    2,检查是否安装成功(查看SVN版本号)

    # svnserve  --version

    3、创建版本库

    //先建目录
    #  mkdir  /data/svn
    #  cd  /data/svn
    //创建版本库
    #  svnadmin create /data/svn/project
    #  cd project
    //会看到自动生成的版本库文件

    #  ls
        conf   db  format  hooks  locks  README.txt

    这样SVN环境搭建成功。

    二、创建用户组和用户

    1,进入版本库中的配置目录conf,

    #  cd conf
    #  ls
    authz passwd svnserve.conf

    权限配置文件(authz),用户名口令文件(passwd),svn服务综合配置文件(svnserve.conf)

    要注意一点,任何配置文件的有效配置行,都 **不允许存在前置空格** ,否则程序可能会出错,给你一个 ``Option expected`` 的提示。

    2、修改权限配置文件(authz)

    #  vim  authz

    将用户svnuser1,svnuser2加入snvuser用户组,

    用户组svnuser对版本库project具有读和写的权限。

    3、配置用户名命令文件(passwd)

    #  vim  passwd

     4、配置SVN服务综合配置文件 (svnserve.conf)

    #  vim svnserve.conf

    //找到以下配置项,将前面的#号去掉,然后做相应的配置
    anon-access = none //匿名用户访问权限:无
    auth-access = write //普通用户访问权限:读、写
    password-db = passwd //密码文件
    authz-db = authz //权限配置文件
    realm = /data/svn/project //版本库所在
    注意:所有以上的配置项都需要顶格,即前面不能预留空格,否则报错

    5、启动svn服务

    -r 添加 版本库的根目录
    -d 让SVN以deamon的形式运行

    #  svnserve  -d  -r  /data/svn

    如果提示:

    svnserve: Can't bind server socket: Address already in use

     说明svn已经被启动了,由于我们修改了配置文件,因此需要重启svn服务

    //查看svn服务详情

    #  ps aux | grep svn

    790 ?        00:00:00 svnserve

    //将svn服务强制停止 其中790为svn服务的ID号,-9是kill的参数

    #  kill -9 790

    或者用:

    #  killall svnserve

    再运行 svnserve -d -r /data/svn,进行启动服务

    6、测试服务器:

    //我们在web目录测试(/home/www)

    #  cd /root/www

    #  svn co svn://localhost/project

    如果提示:Checked out revision 1. 
    表示checkout成功

    我们添加新文件来测试是否提交成功

    #  cd /root/www

    #  touch index.php

    #  svn add index.php                 //成功的话会显示 A index.php

    #  svn commit index.php -m      //"测试提交文件"

    假如最后提示:

    Adding index.php

    Transmitting file data .

    Committed revision 2.

     则表示我们svn服务器搭建成功!文件已经能够推送了。

    7、本地拉取、推送

    在本地安装SVN,建立个文件夹,右键点检svn checkout...

    点击ok,提示输入用户名和密码

    就填刚才我们创建的lsvnuser1或lsvnuser2,和对应的密码即可。

    三、实现svn更新自动同步到web目录:

    1、在web目录中checkout 版本库

    #  svn co svn://localhost/project /root/www --username svnuser1 --111111

    进入/data/svn/project/hooks下,建立post-commit文件:

    # cd /data/svn/project/hooks

    # vim post-commit

    //在该文件里添加如下代码,保存
    #!/bin/sh
    #设定环境变量,如果没有设定可能会出现update报错
    #设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
    export LANG=en_US.utf8
    SVN_PATH=/usr/bin/svn //这里不用改
    WEB_PATH=/root/www/porject  //web目录,如果你的不同,可以改
    //这里的用户随便一个就好
    $SVN_PATH update $WEB_PATH --username 'svnuser1' --password '111111' --no-auth-cache

    保存退出,修改post-commit用户为www目录的用户,给past-commit执行权限:

    #  chmod  755  post-commit

    即成功完成了。

    测试:在本地电脑新建一个文件提交到版本库,查看/root/www/project目录下是否自动更新对应文件。

    Linux svn的常用命令

    ()内为命令简写.
    checkout (co) 提取
    commit (ci) 提交
    update (up) 更新
    list (ls) 列表

    Linux版本回滚操作

    # svn up -r 1

    日常维护命令和参数

    启动svn服务
    svnserve -d  -r /data/svn

    创建版本库
    svnadmin create fs-type fsfs /data/svn/project

    查看版本库的信息
    svn list file:///data/svn/project

    svn list –verbose file:///data/svn/project

    导入库的目录结构
    svn import /tmp/project/ file:///data/svn/project/ –message “init” (文件夹project下有bo)

    删除版本库project下文件夹bo
    svn delete svn://192.168.18.10/data/svn/project/bo -m “delete ”

    //导出
    $svnlook youngest oldrepo
    $svnadmin dump oldrepo > dumpfile

    //还原
    $svnadmin load newrepo < dumpfile

    停止subversion服务
    ps –aux | grep svnserve
    kill -9 ID号

    建立SVN存储仓库示例

    #mkdir -p /data/svn/repos

    #svnadmin create –fs-type fsfs /data/svn/repos

    备份以前的SVN库
    #svnadmin dump /data/svn/repos > /root/repos2

    把备份出来的数据恢复到本地
    #svnadmin load /data/svn/repos/ < /root/repos2

  • 相关阅读:
    mui 单页面下拉刷新
    phpStorm格式化代码快捷键
    mui 子页面切换父页面底部导航
    Java连接Mysql的基本用法
    string替换所有指定字符串(C++)
    MySql与Java的时间类型
    MYSQL中防止插入重复记录的解决方案(无重复值更新)
    Java数据库连接池封装与用法
    Java中数据库连接池原理机制的详细讲解(转)
    Fedora14使用yum安装mysql
  • 原文地址:https://www.cnblogs.com/zwj-linux/p/11351858.html
Copyright © 2011-2022 走看看