centos搭建SVN服务器并实现自动同步至web目录 (必定安装成功)

1.查看是否已经安装过
  rpm -qa subversion
2. 安装
  yum install subversion

  查看是否安装成功

  svnserve --version

3.创建目录
  mkdir -p /opt/svn/repo
4.创建版本库
  svnadmin create /opt/svn/repo
5.修改配置文件
  cd /opt/svn/repo/conf

  vim authz
  在groups下面添加
  [/]
  user=rw

  [/]:表示根目录
  user = rw:表示chen对根目录是否有读写权限
  vim passwd
  在users下面添加 账号=密码格式
  user=123456

  vim svnserve.conf 配置文件
  anon-access = none    #表示禁止匿名用户访问
  auth-access = write     #表示授权用户有读写权限
  password-db = passwd    #指定用户名口令文件
  authz-db = authz         #指定权限配置文件
  realm = /opt/svn     #指定版本库位置

6.如果想要使用service svnserve start 这样的命令
  vim /etc/init.d/svnserve
  找到args="--daemon --pid-file=${pidfile} $OPTIONS"
  在里面添加一段内容 -d -r /opt/svn
  更改为
  args="-d -r /opt/svn --daemon --pid-file=${pidfile} $OPTIONS"

  然后就可以使用命令
  service svnserve start 启动
  service svnserve stop 停止
  service svnserve restart 重启

7.查看启动进程
  ps -ef | grep svn

8.检测端口
  telnet 192.168.1.222 3690

9.如果防火墙开启
  添加端口
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
  重启防火墙:service iptables restart

10.链接
  svn://192.168.1.222/repo

  输入之前的账号和密码链接

11.卸载
  yum remove subversion

 

实现自动部署项目

1.进入网站的目录 执行下面内容 (o2o 为SVN里面项目目录)

  cd /opt/website
  svn co file:///opt/svn/repo/o2o

2.进入版本库的hooks
  cd /opt/svn/repo/hooks
  //进行下面操作
  cp post-commit.tmpl post-commit
  chmod 755 post-commit
  编辑post-commit
  vim post-commit
  首先清空里面内容 ,然后把下面的内容复制到里面
  
  #!/bin/sh
  REPOS="$1"
  REV="$2"
  # 避免中文信息乱码
  export LANG=”zh_CN.UTF-8″
  # 可以配合svnlook命令更新指定目录

  # WEB目录
  SVN_PATH=/usr/bin/svn
  WEB_PATH=/opt/website/o2o
  LOG_PATH=/tmp/svn_update.log
  echo "\n\n\n##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >>$LOG_PATH
  echo `whoami`,$REPOS,$REV >> $LOG_PATH
  #注意将此行user和password改为你具体的user和password
  $SVN_PATH update --username 用户名 --password 密码 $WEB_PATH --no-auth-cache >> $LOG_PATH

 

posted @ 2020-06-12 16:15  COCO歧  阅读(243)  评论(0编辑  收藏  举报