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 .
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS 开发 SVN 版本控制器 更多技术交流请加群 iOS技术联盟 27512466 SVN是Subversio...
    Sunny_Fight阅读 8,820评论 7 63
  • 如果刚到一个新公司,还要用 SVN ,接老项目,简易 SVN 操作 一、创建代码仓库 1.首先在某个目录下面新建一...
    4b5cb36a2ee2阅读 811评论 0 0
  • 1.首先安装svn客户端 yum installsubversion 2.测试是否安装成功 svnserve --...
    架构飞毛腿阅读 795评论 0 4
  • 文/岱岳福翁 暴雨: 银河决堤向下倾, 水流如注灌山东。 马路成江翻巨浪, 躲上高楼心亦惊。 雷雨: 雷鞭裂空天地...
    岱岳福翁阅读 466评论 2 2
  • 第一步是确定主心骨,不论是时间进度、工作项还是人物,都是串联整个方案的线索,不重叠可以用团队共创中的整理重复项,并...
    潘_PT阅读 165评论 0 0