1.环境
阿里云 centos6.3
2.安装svn
yum -y install subversion
3.配置
建立版本库目录
mkdir /home/svndata
svnserve -d -r /home/svndata
4.建立版本库
创建一个新的Subversion项目
svnadmin create /home/svndata/smsyun
cd /home/svndata/smsyun/conf
(1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径
把
# anon-access = read
# auth-access = write
# password-db = passwd
# realm = smsyun
//这四行,前面的#号和空格去掉,变成
anon-access = none //改成none
auth-access = write
password-db = passwd
realm = smsyun //改成自己的版本库
保存退出
注:修改的文件前面不能有空格,否则启动svn server出错
(2)vi authz //文件,创建svn组和组用户的权限
[group]
smsyun = ddl,shl //创建一个smsyun的组,并制定两个用户ddl和shl
[/] //制定根目录下的权限
@smsyun = rw //smsyun组用户权限为读写
* = r //其他用户只有读权限
保存退出
(3) vi passwd //创建或修改用户密码
[users]
ddl = 123456 //用户名为gep的用户的密码为123456
shl = 123456 //。。。
保存退出
然后要设置自启动
vi /etc/rc.local
打开自启动文件
文件内容如下
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
添加下面一行
svnserve -d -r /usr/local/svnRepo/first
保存退出
svn命令:
lsof -i :3690 查看svn是否启动
ps aux |grep 'svn' 查找所有svn启动的进程
kill -9 2505 杀死2505这个查找到的svn进程
svnserve -d -r /usr/local/svnRepo/first 启动svn(可以把这个放到/etc/local/rc.local文件中,实现开机自启动)
5.客户端连接
svn co svn://ip/smsyun
用户名密码:myname
6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
1)设置WEB服务器根目录为/home/www/webroot
2)checkout一份SVN
svn co svn://localhost/smsyun /home/www/smsyun
修改权限为WEB用户
chown -R www:www /home/www/webroot/smsyun
3)建立同步脚本
cd /home/www/svndata/smsyun/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/home/www/smsyun
$SVN update $WEB --username myname --password myname --no-auth-cache --no-auth-cache 是不记住用户缓存(增加了这个之后就能提交后不出现错误,版本错误除外)
chown -R www:www $WEB
增加脚本执行权限
//可不用
chmod +x post-commit
这样,我们上传svn后,生产站点就能立马显示出来了,自动化程度高了很多。
备注:
设置svn开机自启动
编辑文件 /etc/sysconfig/rc.local
添加一行 svnserve -d -r /var/svn/repositories
为svn用户组赋予权限
chown -R root:svn /home/svndata/smsyun
chmod -R g+rws /home/svndata/smsyun /*给svn组赋予读写权限,可以根据需要更改相应权限*/
chmod -R o-rwx /home/svndata/smsyun /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/
只用配置SVN同步的方法
只记录hooks 下的 post-commit文件内的内容
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /home/www/webroot --username testuser --password 123456 --no-auth-cache
-username 是svn里的用户名,--password 是SVN用户的密码
--no-auth-cache 是不记住用户缓存(增加了这个之后就能提交后不出现错误,版本错误除外)
export LANG=en_US.UTF-8 设置编码格式
阿里云服务器配置 SVN 服务器与生产站点同步
原创xulie911520 ©著作权
©著作权归作者所有:来自51CTO博客作者xulie911520的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
阿里云ECS服务器
阿里云服务器ECS
git 端口号 云服务 -
阿里云云服务器-安全计算环境(linux服务器)整改
安全计算环境(linux服务器)
服务器 阿里云服务器 缓存 -
阿里云服务器阿里云服务器