持續集成CI服務器配置安裝 - SVN+Apache+svnadmin

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

QQ羣:472213887  [email protected]


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) 導入項目

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章