zoukankan      html  css  js  c++  java
  • ubuntu环境下部署SVN自动更新总结

    1、安装SVN。

    sudo apt-get install subversion
    

    2、创建svn根目录(SVN)

    sudo mkdir /home/ubuntu/SVN
    

    3、创建项目仓库

    • 首先在SVN根目录下创建一个新文件夹(T01)。
    sudo mkdir /home/ubuntu/SVN/T01
    
    • 使用svn命令创建SVN文件仓库
    sudo svnadmin create /home/ubuntu/SVN/T01
    

    4、配置SVN

    • 打开刚才创建的项目仓库(T01),里面会有一个conf文件夹,打开conf文件夹。
    • svnserve.conf:svn服务配置文件
    • passwd:设置用户名和密码
    • authz:设置管理用户组和权限需要用到

    4.1、首先设置打开passwd文件设置用户名和密码。

    ......
    
    [users]
    admin = admin123
    
    #备注:admin是用户名、admin123是密码、(=)号前后有一个空格。
    

    4.2、打开authz文件设置用户所属分组和权限

    [groups]
    group_admin  = admin
    
    [/]
    @group_admin  = rw 
    
    #备注:
    # group_admin是用户分组名、admin是刚才我们添加的用户名称。可以根据需要添加多个分组
    
    # [/]:表示所有文件夹的操作权限
    # [a:/]:表示a文件夹下的所有文件的操作权限
    # @group_admin: 表示为group_admin分组内的用户赋予权限
    # r :表示读的权限
    # w :表示写的权限
    # rw :表示读写的权限都有
    

    4.3、打开svnserve.conf文件修改svn服务配置

    • 删除下面内容的前面的 #
    anon-access = none
    	表示匿名用户的权限
    auth-access = write
    	表示认证用户的权限
    password-db = passwd
    	表示使用用户名密码
    authz-db = authz
    	表示使用权限认证
    

    5、启动svn服务

    sudo svnserve -d -r  /home/ubuntu/SVN
    
    • 其中 -d 表示守护进程, -r 表示在后台执行
    • /home/ubuntu/SVN 为svn的根目录

    6、查看svn服务是否启动

    • 首先查看svn的进程id
    ps -ef|grep svn
    
    #备注:
    # ps -ef  #表示查看所有进程
    # grep    #表示进行筛选
    

    7、连接svn

    1、在服务器上创建需要存放的文件夹www
    
    mkdir www
        
    2、进入www文件夹
    
    cd /www      #进入要更新的目录
    
    3、执行命令
    
    svn co svn://IP地址
    
    

    8、杀死svn进程

    kill -9 进程id
    
    killall svnserve
    
    

    9、卸载svn

    sudo apt-get remove --purge subversion
    

    10、Windows本地无权限上传问题

    • Windows本地提交的时候,提交失败,提示错误:/db/txn-current-lock': Permission denied
    • 网上查询得知,是因为用户不同的原因,执行如下命令完美解决:
    sudo chmod -R o+rw  /home/ubuntu/SVN
    
    #备注:/home/ubuntu/SVN是你项目库的根目录的路径
    

    11、创建钩子文件

    # 1、打开svn下的hooks文件夹,复制post-commit.tmpl文件并去掉后缀.tmpl
    
    cp -a post-commit.tmpl post-commit
    
    # 2、给post-commit增加可执行权限
    
    chmod +x post-commit
    
    # 3、编辑post-commit的内容
    
    
    #!/bin/sh 
    
    export LC_ALL=en_US.UTF-8
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
    
    svn update /home/ubuntu/www || exit 1
    
    #备注:/home/ubuntu/www是文件保存的位置路径
    
    
    # 4、在当前文件目录下执行post-commit文件进行测试
    
    ./post-commit
    
    #备注:创建钩子文件后,需要重启svn服务。
    
    

    参考资料:

  • 相关阅读:
    git获取远程路径
    qt 运行直接运行exe文件
    QML动画和过度
    学习网络编程的十个步骤
    vs中设置中断
    qt出现警告 Unescaped backslashes are deprecated!解决办法
    git把某此提交运用到某个分支上
    qml学习文档转载
    git远程分支的创建与推送
    qml实现折叠框
  • 原文地址:https://www.cnblogs.com/jasontang369/p/9390891.html
Copyright © 2011-2022 走看看