持续集成CI服务器配置安装 - SVN+Apache+svnadmin

                第一章  搭建敏捷高效的持续集成管理平台

QQ群:472213887  wu-sc@foxmail.com


1、持续集成介绍


持续集成是一种软件开发实践
团队开发成员经常集成他们的工作,每次集成都通过自动化的构建
(包括自动化编译、测试、发布)来验证,从而尽快地发现集成错误。


2、持续集成管理平台的组成


持续集成管理平台不只是CI服务器,是一系列软件开发管理工具的组合
源码版本管理:Subversion、 Git
项目构建工具:Maven、 Ant
代码质量管理:Sonar(Checkstyle、 PMD、 FindBugs……)
持续集成引擎:Hudson、 Jenkins、 Apache Continuum
应用持续部署:操作系统、 JDK、 Tomcat、 JBoss…


实施持续集成过程中要用到的其他各种工具、各种插件…
搭建敏捷高效的持续集成管理平台


3、持续集成实践介绍


广州中益智正信息科技有限公司
提供专业的第三方支付系统开发与第三方支付业务咨询服务
(互联网支付、移动支付、 POS收单、预付费卡、 P2P平台)
持续集成管理平台
Hudson + Maven + Sonar + Subversion

4、持续集成篇课程内容


(1) Subversion源码版本控制系统的安装
Subversion + Apache + jsvnadmin
(2) Maven私有库和本地库的安装与配置
Sonatype Nexus + Maven
(3) Sonar代码质量管控平台的安装与使用配置
(4) Hudson持续集成引擎的安装与配置
 

 

                第二章 SVN版本管理系统的安装

 

CentOS + Subversion + Apache + Jsvnadmin

 

CI服务器:192.168.4.221      root用户操作                          

建议安装前更新操作系统

# yum update

更新完成后重启

# reboot

安装apache

# yum install httpd httpd-devel

# service httpd start

# chkconfig httpd on

# vi /etc/httpd/conf/httpd.conf

找到  ServerName 并修改成

ServerName localhost:80

防火墙中打开80端口:

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# service iptables restart

浏览器打开:  http://192.168.4.221/

  

安装SVN服务

# yum install mod_dav_svn subversion

必须安装mod_dav_svn 模块

安装完svn后要重启apache

# service httpd restart

查看测试是否安装svn 模块

# ls /etc/httpd/modules/ | grep svn

mod_authz_svn.so

mod_dav_svn.so

# svn --version

创建svn库主目录(多库模式,一份配置文件管理多个库)

# mkdir /svn/

# cd /etc/httpd/conf.d

# ls 

此时可以看到一个subversion.conf配置文件(是在安装 mod_dav_svn模块时生成的)

# vi subversion.conf

添加以下内容

#Include /svn/httpd.conf

<Location /svn/>

DAV svn

SVNListParentPath on

SVNParentPath /svn

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile /svn/passwd.http

AuthzSVNAccessFile /svn/authz

Require valid-user

</Location>

RedirectMatch ^(/svn)$ $1/

 

创建/svn/passwd.http和/svn/authz

# touch /svn/passwd.http

# touch /svn/authz

 

重启apache

# service httpd restart  

安装jsvnadmin

svnadmin介绍

(在Google Code上,需要 FQ才能下载。我们也会把最新版的 jsvnadmin放到群共享中)

https://code.google.com/p/jsvnadmin/

https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip

 

安装MySQL(单独安装,与业务系统的数据库分开)

# rpm -qa | grep mysql    ## 查看该操作系统上是否已经安装了mysql数据库,

有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉

# yum install mysql-server mysql mysql-devel

# service mysqld start

# chkconfig --list | grep mysqld

mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off

用上面的命令查看到MySQL 并没有设置开机启动,所以需要设置开机启动

# chkconfig mysqld on

为了方便远程管理,防火墙中打开3306端口

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启防火墙,使端口配置生效

# service iptables restart

 

设置MySQL数据库root用户的密码:

# mysqladmin -u root password 'wusc.123'

登录数据库:

# mysql -u root -p

 

MySQL授权远程访问(先用 root登录 mysql)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wusc.321' WITH

GRANT OPTION;

mysql> FLUSH PRIVILEGES;

 

使用Tomcat7 部署svnadmin

# cd /root

使用wget下载最新版的tomcat7 的tar.gz包

# tar -zxvf apache-tomcat-7.0.xx.tar.gz

# mv apache-tomcat-7.0.xx svnadmin-tomcat

 

修改Tomcat的端口为9000 和容器编码为UTF-8

# vi /root/svnadmin-tomcat/conf/server.xml

修改以下标红的内容   

<Server port="9005" shutdown="SHUTDOWN">

<Connector port="9000" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" URIEncoding="UTF-8" />

 

防火墙中打开9000端口

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT

重启防火墙,使端口配置生效

# service iptables restart

# cd /root/svnadmin-tomcat/webapps

# rm -rf *

 

上传 svnadmin.war 到/root/svnadmin-tomcat/webapps 目录

# cd /root/svnadmin-tomcat/webapps

解压

# unzip svnadmin.war -d svnadmin

备份

# mv svnadmin.war /root/tools/

# cd svnadmin/WEB-INF

# vi jdbc.properties

内容改为如下

db=MySQL

#MySQL

MySQL.jdbc.driver=com.mysql.jdbc.Driver

MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8

MySQL.jdbc.username=root

MySQL.jdbc.password=wusc.123

 

创建svnadmin 数据库并导入相应数据(UTF-8 编码)

执行db/mysql5.sql 和 db/lang/en.sql

这段执行在客户端执行

 

启动svnadmin-tomcat

# /root/svnadmin-tomcat/bin/startup.sh

浏览器中打开:http://192.168.4.221:9000/svnadmin/   

如:输入admin,wusc.123   (链接数据库用的账号和密码)

创建库

此时:

/svn/目录下会创建一个wusc_edu的SVN库目录。

同 时 也 会 多 出 一 个 httpd.conf 文 件 , 内 容 与 subversion.conf 一 样 , 在

/etc/httpd/conf.d/subversion.conf中已配置。

/svn/authz 授权文件中会多出如下内容:

[aliases]

[groups]

wusc_edu_developer=

wusc_edu_manager=

wusc_edu_tester=

[wusc_edu:/]

@wusc_edu_manager=rw

以上过程其实是调用了 svn 对应的命令做了相应的操作

 

配置库目录权限

# cd /svn

# chown -R apache.apache wusc_edu

# chmod -R 777 wusc_edu

(如创建新库,需要对新建的库目录执行以上两步授权操作)

 

关闭SELinux(Linux的访问控制)

修改/etc/selinux/config 文件

# vi /etc/selinux/config

将SELINUX=enforcing 改为SELINUX=disabled

重启机器即可

# reboot

 

SVN版本管理平台(Subversion+Apache+Jsvnadmin)的使用:

先安装SVN管理客户端 TortoiseSVN,方便对SVN库的操作和管理

http://tortoisesvn.net/downloads.html

(注意 64位系统要安装64位版)

接下来可以对wusc_edu库进行相应的操作

(1) 用户组

(2) 用户

(3) 授权

(4) 导入项目

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java实现的SVN远程管理WEB应用 源码地址:http://code.google.com/p/jsvnadmin Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装Svn服务器端好,把Svn Admin部署好,就可以通过web浏览器管理Svn的项目,管理项目的用户,管理项目的权限。使得管理配置Svn简便,再也不需要每次都到服务器手工修改配置文件。 有什么优点 多数据库:Svn项目配置数据保存在数据库,支持所有数据库(默认MySQL/Oracle/SQL Server)。 多操作系统:支持Window,Linux等操作系统。 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码。 支持多项目、多用户、多用户组Group(默认带有“项目管理组”、“项目开发组”、“项目测试组”)。 安全:密码加密保存。 多协议:支持svn协议和http协议(从2.0开始支持Apache服务器单库方式,从3.0开始支持Apache多库方式) Svnadmin在Java 1.6、Tomcat 6、Subversion 1.6、MySQL 5.1、Apache 2.2、Windows 7上开发测试通过,同时支持其他操作系统和数据库。 支持svn协议 Svn配置信息都在仓库目录的conf下的authz,passwd,svnserve.conf三个文件中,配置用户和权限都是通过修改passwd和authz,立刻就生效。Svn Admin的本质是对这3个文件进行管理,所有成员、权限的数据都保存在数据库中,一旦在Svn Admin的页面上修改,就会把配置信息输出到conf下的那3个配置文件中。 支持http协议 Apache+SVN配置成功后可以有两种方式: 多库方式:SVNParentPath 指定一个父目录,所有仓库在这个父目录下,使用一个密码文件和一个权限配置文件。优点是增加删除仓库不需要改apache的httpd.conf,不需要重启Apache。缺点是项目多会很混乱。 单库方式:SVNPath 每个仓库单独配置各自的密码和权限文件。优点是各自分开,互相不影响,维护方便。缺点是增加或删除仓库需要修改apache的httpd.conf后重启。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值