这里我们只说在linux服务器上怎么进行管理。
前提:服务器环境和网站都已经部署好。
开始;
第一步:查看服务器是不是安装过svn;
rpm -qa subversion
如果有就卸载
yum remove subversion
第二步:安装
yum -y install subversion (都是用yum install,linux服务器比windows方便太多,不得不承认)
第三步:查看是否安装完成
svnserve --version
第四步:创建代码库(管理代码)
mkdir -p /www/svndemo
svnadmin create /www/svndemo/test
如果在test里面包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
第五步:配置SVN代码库配置文件
进入conf文件夹
cd /www/svndata/test/conf
第六步:配置密码
vim passwd
修改passwd内容
[users]
# harry = harryssecret
# sally = sallyssecret
haixia=123456
打了#号是注释,这个是告诉你配置的格式,前面是账号,后面是密码,如果需要多个就在下一行再添加一个账号密码。
第七步:配置权限
目的是设置哪些用户可以访问哪些目录
vim authz
#设置[/]代表根目录下所有的资源
[/]
haixia=rw
如果里面有A,B,C三个文件夹,那么如果你让haixia用户只有a的权限,那就是
[/a]
haixia=rw,rw是读写权限,就是read和write权限。
第八步:配置svnserve.conf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = My First Repository
第九步:启动SVN
svnserve -d -r /www/svndemo
第十部:查看SVN进程
[root@localhost conf]# ps -ef|grep svn|grep -v grep
第十一步:检测SVN 端口
[root@localhost conf]# netstat -ln |grep 3690
第十二步:停止重启SVN
[root@localhost
[root@localhost password]# svnserve -d -r /www/svndata // 启动
第十三步:在本地电脑上下载一个SVN,连接svn。
客户端连接地址:svn://IP/test,(地址是IP对应你的仓库名)
用户名/密码: haixia/123456
*********重点*********
上面只是弄好了SVN的部署和仓库。
怎么提交到服务器,让服务器代码自动更新呢。
所以我们要设置钩子
第一步:在hooks目录里面新建一个post-commit文件。这个是钩子的脚本文件
添加脚本内容如下
export LANG=en_US.UTF-8
$SVN update $WEB --username haixia--password 123456
WEB=右边改成你实际的web目录
第二步:让post-commit有执行的权限
chmod a+x post-commit
第三步:把网站代码下载到本地,然后丢入SVN版本库里面(这期间不要更新网站任何代码),进入服务器的目录
cd/www/wwwroot
原理:本地代码提交到SVN版本库,版本库通过钩子更新网站代码。
前提:服务器环境和网站都已经部署好。
开始;
第一步:查看服务器是不是安装过svn;
rpm -qa subversion
如果有就卸载
yum remove subversion
第二步:安装
yum -y install subversion (都是用yum install,linux服务器比windows方便太多,不得不承认)
第三步:查看是否安装完成
svnserve --version
第四步:创建代码库(管理代码)
mkdir -p /www/svndemo
svnadmin create /www/svndemo/test
如果在test里面包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
第五步:配置SVN代码库配置文件
进入conf文件夹
cd /www/svndata/test/conf
第六步:配置密码
vim passwd
修改passwd内容
[users]
# harry = harryssecret
# sally = sallyssecret
haixia=123456
打了#号是注释,这个是告诉你配置的格式,前面是账号,后面是密码,如果需要多个就在下一行再添加一个账号密码。
第七步:配置权限
目的是设置哪些用户可以访问哪些目录
vim authz
#设置[/]代表根目录下所有的资源
[/]
haixia=rw
如果里面有A,B,C三个文件夹,那么如果你让haixia用户只有a的权限,那就是
[/a]
haixia=rw,rw是读写权限,就是read和write权限。
第八步:配置svnserve.conf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = My First Repository
第九步:启动SVN
svnserve -d -r /www/svndemo
第十部:查看SVN进程
[root@localhost conf]# ps -ef|grep svn|grep -v grep
第十一步:检测SVN 端口
[root@localhost conf]# netstat -ln |grep 3690
第十二步:停止重启SVN
[root@localhost
[root@localhost password]# svnserve -d -r /www/svndata // 启动
第十三步:在本地电脑上下载一个SVN,连接svn。
客户端连接地址:svn://IP/test,(地址是IP对应你的仓库名)
用户名/密码: haixia/123456
*********重点*********
上面只是弄好了SVN的部署和仓库。
怎么提交到服务器,让服务器代码自动更新呢。
所以我们要设置钩子
第一步:在hooks目录里面新建一个post-commit文件。这个是钩子的脚本文件
添加脚本内容如下
export LANG=en_US.UTF-8
$SVN update $WEB --username haixia--password 123456
WEB=右边改成你实际的web目录
第二步:让post-commit有执行的权限
chmod a+x post-commit
第三步:把网站代码下载到本地,然后丢入SVN版本库里面(这期间不要更新网站任何代码),进入服务器的目录
cd/www/wwwroot
原理:本地代码提交到SVN版本库,版本库通过钩子更新网站代码。
文章来源: 怎么使用SVN管理代码