Ububtu 18.04 安装SVN并部署项目 实现项目同步更新

第一步 安装svn
sudo apt-get install subversion

第二步 创建版本库管理目录(可以不创建,直接第三步)
sudo mkdir /home/svn //创建一个目录,方便以后单独将每个项目代码放到该目录下统一管理

第三步 创建版本库
sudo svnadmin create /home/svn/test //test即为项目目录

第四步 检查版本库是否创建成功

cd /home/svn/test  \\进入该目录,查看隐藏文件夹
ll    \\ll为ls -l 的别名
检查版本库

出现这些文件夹即为成功创建版本库

第五步 修改配置文件
cd /home/svn/test/conf \\authz文件是设置用户权限,passwd文件是存储用户及密码,svnserve.conf是主配置文件

使用vi或vim命令打开配置文件

  1. authz配置
authz配置

添加红框中的代码,其中onion为自定义的用户名,r代表有读权限,w代表有写权限

  1. passwd配置
passwd配置

添加一个用户名和密码,用户名即为在authz中设定的用户名

  1. svnserve.conf配置
svnserve.conf配置

打开这两行的注释,并删除前面的空格

第六步 开启svn服务

  1. 开启服务命令
    sudo svnserve -d -r /home/svn
  2. 检查是否开启成功
    sudo netstat -antp |grep svnserve
    出现3690端口,即为成功

第七步 设置项目自动更新

  1. 跳转到相应配置目录
    cd /home/svn/test/hooks
  2. 创建脚本(假设项目运行目录为/var/www/html , 根据自己实际情况修改)
    //复制脚本模板
    cp post-commit.tmpl ./post-commit
    // 打开刚刚复制的脚本
    vim post-commit
    //注释原脚本代码,或全部删除,添加如下新内容
    #!/bin/sh
    REPOS="$1"
    REV="$2"
    export LANG=zh_CN.UTF-8   //使用 $LANG查看系统语言,一般为en_US.UTF-8
    SVN_PATH=/usr/bin
    WEB_PATH=/var/www/html/test
    SVN_USER=onion
    SVN_PASS=123456
    LOG_PATH=/tmp/svn.log
    echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
    echo `whoami`,$REPOS,$REV >> $LOG_PATH
    $SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
    exit 0
    

第八步 服务端检出项目

  1. 创建项目根目录
cd /var/www/html
mkdir test
  1. 进入项目目录,并检出项目
cd test
svn checkout svn://{服务器地址}:{端口号}/test .    
//注意test后面的  .  是需要的
//例如 svn checkout svn://192.168.1.1:3690/test .

你可能感兴趣的:(Ububtu 18.04 安装SVN并部署项目 实现项目同步更新)