Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465683
  • 博文数量: 122
  • 博客积分: 1403
  • 博客等级: 中尉
  • 技术积分: 1668
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-11 13:31
文章分类

全部博文(122)

文章存档

2018年(5)

2017年(12)

2014年(15)

2013年(33)

2012年(4)

2011年(53)

分类: 项目管理

2011-03-30 14:59:37

说明:以下软件有些linux版本自带了,就不要安装了,在grep后的结果中可以看到是否已经安装。
当然,如果想升级,那就yum update packagename 吧。
一、安装软件
 
1、安装subversion
   yum list|grep subversion 看看有哪些包可以安装
   yum install subversion*  -y  完全安装,包括subversion-perl等。
   可以用命令svn help 测试下是否安装ok.
2、安装mysql-server
   yum list|grep mysql-server
   yum install mysql-server*   -y  因为服务中还包一个mysql-server的升级安装包,所以用*
 
二、配置SVN服务器
1、 新建svn目录,作为svn服务器中存放svn文件的目录
mkdir -p /usr/local/svn
2、新建版本库
svnadmin create /usr/local/svn/project
3、初始化版本库project中的目录
 mkdir project project/srver project/client project/doc  创建临时目录用于后面导入到版本库中
 svn import project/    -m "init the project verion library"
 rm -rf project
4、添加用户
在/usr/local/svn/project/conf/passwd文件添加,格式是“用户名 = 密码”,需要注意的是,等号=两边有空格,且每行只能有一个用户;比如 “jason = lwsdkd”,这样用户名为jason的用户就增加为svn的用户了,并且他的密码为lwsdkd;
为了测试,我们添加如下内容:
                [users]
                # harry = harryssecret
                # sally = sallyssecret
                zhangsan = zhangsanpasswd
                 lisi = lspasswd
                 wangwu = wspasswd
                 zhaoliu   = zlpasswd
5、设置权限
   在/usr/local/svn/project/conf/authz中设置,以下是参考:
                        [groups]
                        project_p = zhangsan
                        project_s = lisi
                        project_c = wangwu
                        project_t = zhaoliu                        
                        [project:/]
                        @project_p = rw
                        * =
                       
                        [project:/server]
                        @project_p = rw
                        @project_s = rw
                        * =
                       
                        [project:/client]
                        @project_p = rw
                        @project_c = rw
                        * =
                       
                        [project:/doc]
                        @project_p = rw
                        @project_s = rw
                        @project_c = rw
                        @project_t = rw
                        * =
               
以上信息表示,只有zhangsan有根目录的读写权,张三还有其他所有目录的读写权限;lisi能访问server目录,有读写权限,wangwu能访问client目录,有读写权限,所有人都可以访问doc目录,有读写权限.
6、修改/usr/local/svn/project/conf/svnserve.conf文件,让用户和权限设置文件生效.修改后的内容如下:
                        [general]
                        anon-access = none
                        auth-access = write
                        password-db = /local/usr/svn/project/conf/passwd
                        authz-db = /local/usr/svn/project/conf/authz
7启动服务器
                 svnserve -d -r /local/usr/svn
8、下载
              svo  co    svn://ip/project
 ip值机器的IP地址
 
三、配置邮件提醒功能
(以下参考互联网资料,我在实际操作过程中,发现有许多依赖包需要安装,根据提示依依安装即可)
        1,安装Perl模块Module::Build
                # wget
                # tar xvf Module-Build-0.36_11.tar.gz
                # cd Module-Build-0.36_11
                # perl Build.PL
                # ./Build
                # ./Build test
                # ./Build install
                # cd ..

        2
,安装Perl模块Authen::SASL
                # wget
                # tar xvf Authen-SASL-2.15.tar.gz
                # cd Authen-SASL-2.15
                # perl Makefile.PL
                # make test
                # make install
                # cd ..

        3
,安装Perl模块Net::SMTP_auth
                # wget
                # tar xvf Net-SMTP_auth-0.08.tar.gz
                # cd Net-SMTP_auth-0.08
                # perl Makefile.PL
                # make test
                # make install
                # cd ..

        4
,安装Perl模块SVN::Notify
                # wget
                # tar xvf SVN-Notify-2.80.tar.gz
                # cd SVN-Notify-2.80
                # perl Build.PL
                # ./Build
                # ./Build test
                # ./Build install
                # cd ..

        5
,启动邮件服务器
                 service sendmail restart
                                  6
,配置自动发邮件脚本
               
修改post-commit脚本,以支持邮件通知功能.
                # cd /home/svn/project/hooks/
                # vim post-commit
               
内容如下:
                #!/bin/sh
                REPOS="$1"
                REV="$2"
               
                /usr/bin/svnnotify --repos-path "$1" --revision "$2" --to caodaijun@pica.com --from caodaijun@feinno.com --handler "HTML::ColorDiff"  --with-diff --smtp localhost --smtp-user root --smtp-pass 5201314318 -c "UTF-8" -g zh_CN -o raw --svnlook /usr/bin/svnlook --subject-prefix '[SVN Update]'
                (to
参数代表接收邮件的地址,可以有多个,当你有多个老大的时候,这就很重要了,:)。from参数是虚拟的,代表你的发送地址,一般情况下,这个参数不重要,但如果接收者的邮件服务器有反垃圾邮件的功能,需要判定源地址的话,这个参数是否合法就显得很重要了)
               
再给该脚本添加可执行权限
                # chmod +x post-commit

        7
,再次提交时,就会给指定邮件地址发信了。


 
阅读(762) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~