• linux下搭建svn并同步更新至web目录


    安装svn

    使用yum安装

    yum install subversion -y

    安装成功后查看版本库

    svnserve  --version

    生成目录

    cd /var

    mkdir svn

    cd svn

    创建版本库

    svnadmin create /var/svn/project

    cd project

    查看目录下的所有文件

    ls -a

     README.txt  conf  db  format  hooks  locks

    cd conf

    进入版本配置目录conf,此目录下有authz  passwd  svnserve.conf三个文件

    vi authz  //添加用户组并使用户组具有读写权限

    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    用户组名 = 用户名1,用户名2    //添加用户组,并设置用户组下的用户,用户名之间用 , 隔开

    [project:/]  //     版本库名:/
    @用户组名 = rw    //添加用户组读写权限

    vi passwd    //配置用户以及密码

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    用户名1 = 用户名1的密码
    用户名2 = 用户名2的密码

    vi svnserve.conf          //配置SVN服务综合配置文件svnserve.conf

    //找到以下配置项,将前面的#号去掉,然后做相应的配置

    anon-access = none//匿名用户访问权限:无

    auth-access = write //普通用户访问权限:读、写

    password-db = passwd //密码文件

    authz-db = authz //权限配置文件

    realm = /var/svn/project //版本库所在

    启动svn

    svnserve -d -r /var/svn

    如果提示

    svnserve: E000098: Can't bind server socket: Address already in use  //此时svn已经启动

    重启svn

    //查看svn服务详情

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

    kill -9 790

    或者使用 ps -ef|grep svn  //查看svn进程

    kill 进程号

    还有   killall svnserve  //结束svn所有进程

    测试svn服务

    mkdir /home/www

    cd /home/www

    svn co svn://服务器ip地址/project /home/www //回车后,此时可能会提示密码验证,先填写服务器用户名和密码,后面是svn用户名和密码

    如果现实Checked out revision 1.则表示成功

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

    cd /home/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服务器搭建成功!文件已经能够推送了。

    本地拉取服务器上的版本库(本地window)

    右键检出

     按照如图所示地址拉取,点击确定后再输入用户名和密码即可

    最后,本地推送到svn并同步更新至web目录

    cd /var/svn/project/hooks

    vi post-commit

    //在该文件里添加如下代码,保存

    #!/bin/sh #设定环境变量,如果没有设定可能会出现update报错

    #设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK

    export LANG=en_US.utf8

    SVN_PATH=/usr/bin/svn //这里不用改

    WEB_PATH=/home/www //web目录,如果你的不同,可以改

    //这里的用户随便一个就好

    $SVN_PATH update $WEB_PATH --username '用户名' --password '密码' --no-auth-cache

    //修改post-commit权限

    chmod 755 post-commit

    在本地检出时,如果不能连接svn可能是3690端口未开放

    firewall-cmd --zone=public --add-port=3690/tcp --permanent

    systemctl restart firewalld    //重启firewall防火墙

  • 相关阅读:
    js重要函数
    js判断是否为空
    checkbox选择框如果被选中value值就可以传过去,没有被选中value就不能穿过去(调试了近一天,坑爹的说)
    js常用点
    常用jdbc操作
    java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1
    com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 2 无效 待整理
    OOAD和UML
    .net 外部CSS文件不起作用总结
    线程读书笔记
  • 原文地址:https://www.cnblogs.com/ylqs/p/6924889.html
Copyright © 2020-2023  润新知