• svn部署web项目


    1.检查系统有没有安装svn

    svn --version

    2.如果没有安装采取安装svn

    yum install subversion

    3.创建版本库

    mkdir /var/www/svn

    svnadmin create /var/www/svn/demo

    4.配置版本库(conf文件夹)

    1)svnserve.conf配置

    [general]
    #匿名访问的权限 可以是read write none 默认为read
    anon-access = read
    #使授权用户有写入权限
    auth-access = write
    #用户密码数据库路径
    password-db = passwd
    #访问控制权限
    authz-db = authz
    #认证命名空间 subversion会在认证提示里显示 并且作为凭证缓存关键字
    realm=/opt/svn/repositories
    

    2)配置passwd文件(主要内容是用户+用户密码)

    [users]
    admin=123456
    

    3)权限控制authz配置

    [groups]
    #指定用户组内用户名
    #harry_and_sally = harry,sally
    #harry_sally_and_joe = harry,sally,&joe
    admin=admin
    
    #设置权限
    [demo:/]
    # harry = rw
    # &joe = r
    # * =
    #指定用户
    admin=rw
    #指定组
    @admin=rw
    
    #指向根目录
    # [/]
    
    #指向文件夹
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    

    5.开启版本库
    注意我们在authz配置项中指向的是[demo:/] 所以开启服务要指向它上一层

    svnserve -d -r /var/www/svn

    如果authz配置项中指向的是[/]

    svnserve -d -r /var/www/svn/demo

    6.查看进程

    netstat -aptn

    默认端口是:3690

    7.shell脚本方式设置开机启动svn服务

    1)修改 /etc/rc.d/rc.local 确认文件的执行权限

    chmod +x /etc/rc.d/rc.local
    

    2)创建shell脚本 设置svn开机启动

    vim /var/www/auto_run.sh
    

    3)内容如下

    #!/bin/bash
    /usr/bin/svnserve -d -r /var/www/svn
    

    4)保存退出后,再给它赋予可执行权限:

    chmod +x auto_run.sh
    

    5)将脚本添加到 /etc/rc.d/rc.local 文件最后一行

    /var/www/auto_run.sh
    

    6)重启系统就可以看到开机启动svn了

    reboot
    

    8.windows本地检出

    svn checkout svn://192.168.56.101/demo
    

    输入用户名密码即可

    9.windows图形软件

    TortoiseSVN

    10.在hooks文件夹下复制post-commit文件 复制内容如下(相当于执行shell脚本)

    #!/bin/sh 
    export LANG=zh_CN.utf-8
    #REPOS="$1"
    #REV="$2"
    SVN=/usr/bin/svn           #你svn脚本所在的目录
    WEB=/var/www/html     #你更新到web项目的位置
    $SVN update $WEB --username admin --password 123456
    

    11.给post-commit脚本赋予权限

    chmod 777 post-commit
    chmod +x  post-commit
    

    12.在你的服务器web项目下面checkout一次(重要)

    svn checkout svn://192.168.56.101/demo /var/www/html
    

    13.在本地上传一个文件会发现web项目已经更新了这个文件

    14.清除账号密码

      linux下 清除svn保存的账号密码信息
      删除~/.subversion/auth即可
      rm -rf ~/.subversion/auth
    
  • 相关阅读:
    localhost和本机IP和127.0.0.1之间的区别
    git客户端msysGit和TortoiseGit使用
    JS正则
    css中外边距
    css定位浮动总结
    Teleport Ultra 抓包工具
    编程实践心得与设计思想
    Java 读写Properties配置文件
    如何成为一个优秀的DBA
    对DB2常见错误的列举以及破解方案
  • 原文地址:https://www.cnblogs.com/heanwanfeng/p/14585088.html
Copyright © 2020-2023  润新知