SVN搭建以及自动更新代码
目录
一、windows安装svn并且转成中文
第1步:先下载安装包如下下面是语言包与安装包
第2步:双击安装包一直点击下一步即可
第3步:双击安装中文语言包
第二步:勾选设置语言包
二、linux安装svn
第1步 :检查是否安装SVN并用yum安装
第2步:创建版本库目录和版本库 firsttest为项目名称
第3步:进入版本库修改conf目录配置
第4步:修改authz文件,添加分组和版本库权限
第5步:修改passwd密码文件
第6步:添加目录权限,修改svnserve.conf
第7步:启动和关闭svn
第8步:windows客户端更新代码
第9步:服务器更新svn代码
三、linux服务器代码自动更新不用 svn update
第1步:创建自动更新脚本
第2步:配置脚本权限
第3步:重启svn测试
一、windows安装svn并且转成中文
第1步:先下载安装包如下下面是语言包与安装包

第2步:双击安装包一直点击下一步即可



第3步:双击安装中文语言包

第二步:勾选设置语言包

点击下一步安装成功后右键svn已更改为中文

二、linux安装svn
第1步 :检查是否安装SVN并用yum安装
检查是否安装 rpm -qa subversion
卸载旧版本 yum remove subversion
  yum -y install subversion

 输入svnserve --version 查看是否安装成功,安装成功显示下面版本号

第2步:创建版本库目录和版本库 firsttest为项目名称

mkdir /home/svn/
   cd /home/svn/ 
    svnadmin create firsttest    安装好后会产生firsttest目录
第3步:进入版本库修改conf目录配置

第4步:修改authz文件,添加分组和版本库权限
vi authz
以下是文件内容,红色为修改部分
             [groups]
              # harry_and_sally = harry,sally
             # harry_sally_and_joe = harry,sally,&joe
             admin=user1,user2  //增加分组
            # [repository:/baz/fuz]
             # @harry_and_sally = rw
             # * = r
             [firsttest:/]   //目录和项目名称对应 firsttest
            @admin=rw    分配权限

第5步:修改passwd密码文件
vi passwd
以下是文件内容,红色为修改部分
           ### This file is an example password file for svnserve.
            ### Its format is similar to that of svnserve.conf. As shown in the
            ### example below it contains one section labelled [users].
            ### The name and password for each user follow, one account per line.
         [users]
          # harry = harryssecret
          # sally = sallyssecret
          user1=888888
          user2=888888

第6步:添加目录权限,修改svnserve.conf
          [general]
           ### These options control access to the repository for unauthenticated
           ### and authenticated users.  Valid values are "write", "read",
           ### and "none".  The sample settings below are the defaults.
           # anon-access = read         去掉#并修改为 anon-access=none
           # auth-access = write        去掉#
         ### If SASL is enabled (see below), this file will NOT be used.
          ### Uncomment the line below to use the default password file.
          #password-db = passwd         去掉#
          ### The authz-db option controls the location of the authorization
          ### rules for path-based access control.  Unless you specify a path
          ### starting with a /, the file's location is relative to the the
         ### directory containing this file.  If you don't specify an
         ### authz-db, no path-based access control is done.
         ### Uncomment the line below to use the default authorization file.
         #authz-db = authz          去掉#
         ### This option specifies the authentication realm of the repository.
         ### If two repositories have the same authentication realm, they should
         ### have the same password database, and vice versa.  The default realm
         ### is repository's uuid.
         realm = /home/svn/firsttest/ svn所在目录     

第7步:启动和关闭svn
启动svn
svnserve -d -r /home/svn/
停止
killall svnserve
第8步:windows客户端更新代码
右键点击检出代码

svn://你的服务器id/firsttest

输入第5步设置的账号密码


新增文件后右键更新或者上传代码

第9步:服务器更新svn代码
然后回到服务器 你的项目目录/var/www/
进入根目录 cd /
svn co svn://你的服务器id/firsttest /var/www/
输入第5步的账号密码与windows一样账号

windows上传代码后,服务器需要svn update更新代码

三、linux服务器代码自动更新不用 svn update
第1步:创建自动更新脚本
cd /home/svn/firsttest/hooks
vi post-commit
输入下面代码
#!/bin/sh
 S="$1"
 REV="$2"
 export LC_ALL="zh_CN.UTF-8"
 export LANG="en_US.UTF-8"
SVN_PATH=/usr/bin                          #svn安装路径
 WEB_PATH=/var/www/           #web项目所在
 SVN_USER=user1                          #svn用户名
 SVN_PASS=888888                          #svn密码
 LOG_PATH=/tmp/svn.log
 $SVN_PATH/svn update $WEB_PATH || exit 1
 exit 0


第2步:配置脚本权限
chmond -R 777 post-commit

第3步:重启svn测试
killall svnserve
svnserve -d -r /home/svn/
windows上传代码测试,linux自动更新代码不用svn update
线上服务器存在风险,代码误传会出问题,一定要小心



















