jokerchu 发表于 2018-11-10 13:34:06

svn+nginx-HZcto.com-51CTO博客

  一、将svn仓库
  mkdir /opt/svn
  svnadmin create /opt/svn/html    #创建svn仓库位置
  svnserve -d -r /opt/svn   #启动服务
  vi conf/svnserve.conf
  #取消注释
  anon-access = none
  auth-access = write
  password-db = /opt/svn/html /conf/passwd
  authz-db = /opt/svn/html /conf/authz
  vi conf/authz
  在文件中添加如下代码:
  
  all = dk1,dk2,cto
  [/]                                    #“/”表示所有仓库的跟目录下
  cto = rw
                 #第一个仓库,webuser和userweb可以读写
  @all = r
  cto=rw
  dk1=rw
  dk2=r
                  #第二个仓库目录,userweb和userhh可以读写
  dk2 = rw
  dk1 = rw
  vi conf/passwd
  输入如下内容:
  
  dk1 =123456
  dk2 =1234567
  cto =12345678
  二、svn仓库和nginx项目同步数据
  接下来有2个方法可以将本地的项目同步到nginx上面:
  1、自动同步:通过post-commit自动将项目upload到svn上面,再通过post-commit同步项目到nginx上。
  cd /opt/svn/html/hooks/
  cp post-commit.tmpl post-commit
  vi post-commit
  将里面的所有代码注释掉,然后输入如下代码:
  #!/bin/sh
  export LANG=en_US.UTF-8
  DIR=/usr/local/nginx/html
  svn update $DIR --username 'dk' --password '123456Aa' --no-auth-cache
  chown nginx:nginx /opt/svn/html /hooks/post-commit #设置脚本所属用户组,www为web服务运行账户和组
  chmod 755/opt/svn/html /hooks/post-commit #添加脚本执行权限
  2、手动同步:通过svn命令将svn的项目同步到nginx上面:
  svn co svn://127.0.0.1/html/ /usr/local/nginx/html   --username'dk' --password '123456Aa'
  删除svn信息
  find.-typed-name".svn"|xargsrm-rf
  三、重启svnserve服务
  重启svn
  killall svnserve
  svnserve -d -r /opt/svn                                 #用默认的3690端口起服务
  svnserve -d --listen-port 3691 -r /opt/svn6   #用非默认的端口3691端口起服务
  四、客户端check out和upload数据
  1、windows客户端首次如何将数据上传到svn仓库中:
  桌面---新建空文件夹---右键tortoiseSVN---repository Browser--输入svn地址比如:svn://hzcto.cn:3691/html6----输入用户名和密码---将你的数据拖进去(如果有.svn隐藏文件夹不要拖进去)---OK
  2、windows客户端如何首次check out数据下来
  桌面---新建空文件夹---右键svn check out---输入svn地址比如:svn://hzcto.cn:3691/html6----输入用户名和密码---ok
  3、windows客户端如何再次check out数据下来
  桌面---新建空文件夹---右键svn update---输入svn地址比如:svn://hzcto.cn:3691/html6----输入用户名和密码---ok
  4、windows客户端如何更新数据到svn仓库,再更新到nginx上面
  桌面---项目文件夹---右键svn commit---输入svn地址比如:svn://hzcto.cn:3691/html6----输入用户名和密码---通过post-commit自动更新到nginx或者手动svn checkout数据到nginx

页: [1]
查看完整版本: svn+nginx-HZcto.com-51CTO博客