版本控制器有很多种其中常用的有svn和git,git配置拓展性比较强,但是配置的难度也有所提升,相比git而言svn不管是配置还是操作都是比较简单,所以新手建议先从svn配置起,中小型企业用svn一般都是可以满足的。
下面开始讲解安装流程
1、安装svn
#yum -y install subversion
2、建立版本库目录
# mkdir /svn
3、建立项目版本库如项目名称amaple
#svnadmin create /svn/amaple
4、修改配置文件passwd
#cd /svn/amaple/conf
#vi passwd
在[users]后面添加一行,多个账号可以添加多行,可自定义自己的账号和密码
amaple = 123456
5、修改配置文件authz
#cd /svn/amaple/conf
vi authz
在[groups]后面加上所以svn的账号,多个可以用逗号分开,切记一定是passwd存在的用户才行
users = amaple
在最下面添加下面内容,[/] 为根目录一定要添加 , [svn:/amaple]刚才新建的项目,根据自己项目而定。
[/]
@users = rw
[svn:/amaple]
@users = rw
*=r
6、修改配置文件svnserve.conf
#cd /svn/amaple/conf
#vi svnserve.conf
a)将anon-access = read 修改为anon-access = none 并将前面的#去掉
b)将password-db = passwd前面#去掉
c)将authz-db = authz前面#去掉
7、启动svn
#svnserve -d -r /svn
8、如果是要重启请使用
#killall svnserve
#svnserve -d -r /svn
authz配置文件
passwd配置文件
最后讲解下svn 提交web同步
1、首先进入web目录,这里我假设web目录为/data
2、在web目录中checkout版本库
# svn co svn://localhost/amaple /data/amaple --username amaple(SVN账号) --password 123456(SVN密码)
3、测试svn服务器
#cd /data/amaple
#touch amaple.txt
#svn add amaple.txt
#svn commit amaple.txt -m
假如最后提示:
Adding amaple.txt
Transmitting file data .
Committed revision 2.
则表示我们svn服务器搭建成功!文件已经能够推送了。
注:这里可能还有个问题,如提示
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found
在 终端中 sudo vim /etc/bashrc 打开文件,加入:export SVN_EDITOR=vim,如果保存的时候,无法保存。wq! 强制保存退出,source /etc/bashrc生效。
4、进入/var/svn/amaple/hooks下,建立post-commit文件:
cd /var/svn/project/hooks
vim post-commit
//在该文件里添加如下代码,保存
#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn //这里不用改
WEB_PATH=/home/www //web目录,如果你的不同,可以改
//这里的用户随便一个就好
$SVN_PATH update $WEB_PATH --username 'amaple' --password '123456' --no-auth-cache
修改post-commit用户为web目录用户,我这里是www:www
#chown www:www post-commit
#chmod 755 post-commit
然后在本地svn提交东西,然后在web目录下看下有没有成功就行了。
发表评论