全部博文(93)
分类: LINUX
2010-10-15 15:07:51
Svn服务器的安装部署+数据迁移+邮件自动通知
1) svn安装
2) svn数据的迁移
3) svn配置邮件自动通知
一、svn安装
1. wget
2. wget
3. wget
4. tar zxvf sqlite-*.tar.gz
5. ./configure
6. Make &&make install
7. tar zxvf subversion-1.6.12.tar.gz
8. tar zxvf fubversion-deps-1.6.12.tar.gz
9. cd subversion-1.6.12
10. ./configure –prefix=/usr/local/svn1.6.12 –with-apxs=/opt/httpd2.15/bin/apxs
11. Make && make install
Tar xvf db-5.0.26.tar.tar
To do a standard UNIX build of Berkeley DB, change to the build_unix directory and then enter the following two commands:
../dist/configure
make
This will build the Berkeley DB library.
To install the Berkeley DB library, enter the following command:
make install
至此,subversion安装完成。
接下来创建仓库。
1. Mkdir /usr/local/svnroot
2. /usr/local/svn1.6.12/bin/svnadmin create /usr/local/svnroot/wlotx
3. 创建后需要改变一下svnroot下db和dav的权限。
# chmod 777 svnroot/db
# chmod 777 svnroot/dav
# chown -R apache:apache svnroot
4. 修改配置文件
4.1 修改authz文件
#############添加一个组#################
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = test
#############给该组中所有用户授权#######
[/]
@admin=rw
:wq
4.2 修改passwd文件
[users]
# harry = harryssecret
# sally = sallyssecret
test=test
4.3 修改svnserve.conf文件
anon-access = none
auth-access = write
password-db = /usr/local/svnroot/wlotx/conf/passwd
authz-db = /usr/local/svnroot/wlotx/conf/authz
5. 启动svn
/usr/local/svn/bin/svnserve -d -r /usr/local/svnroot/wlotx/
二、Svn数据迁移(从windows-àlinux)
公司的svn库是在windows server上,存放目录为d:/wlotx/
1.先导出svn库导出到d:\svnbak\svnbak20100728.dump
在cmd命令行里输入
svnadmin dump d:/svndata > d:\svnbak\svnbak20100728.dump
此时你会看到窗口里显示从第一个版本开始备份,一直到最后一个版本
2.把svnbak20100303.dump想办法传到linux服务器,这是采用svn的方式
3.我在linux的svn代码库为:/usr/local/svnroot/wlotx
svnadmin load /usr/local/svnroot/wlotx < /ftp/svnbak20100728.dump
************************************************************************网上有人说用svnadmin load的时候,/wisedata/svn/repository必要要是空的。
我是在/wisedata/svn/repository库里原来有新增过代码,然后又把代码清空后,再用load的,而且是load成功
Issue:
用的是TortoiseSVN 右键选择show log 时弹出对话框提示“want to go offline?”其它功能 check out,commit,update都可以正常使用.
解决方法:
在svnserve.conf 文件中,设置anon-access = none就可以了
三、 svn配置邮件通知
以前在windows平台时,svnnotify是邮件通知的最好选择。但在aix系统上安装时,因某些模块需要联网获取,安装时很不方便。所以选择了svn自带的commit-email.pl文件来发送电子邮件。
当然,还可以使用mailer.py来发送邮件,但mail.py需要Python环境,安装也挺麻烦的。而aix自带了perl环境,commit-email.pl当然是比较好的选择。
commit-email.pl 的获取地址为:
mailer.py的获取地址为:
这二者应该是svn官方自己搞的脚本吧。
1、将下载后的commit-email.pl.in 改为commit-email.pl 上传至 hooks目录下
我的post-commit文件内容如下:
#export LANG=ZH_CN.UTF-8
chinaunix网友2010-10-15 17:49:23
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com