既然使用分佈式系統架構,那麼就意味着以後一定是需要管理多個SOA服務,並且在每次開發新版本時,需要重新打包部署到Linux上,如果涉及的SOA服務過多,一定會浪費我們的工作量,無論是開發、運維、測試還是其他相關工作人員。所以持續集成非常的有意義,也是作爲一個項目的管理者必須要學會使用的一套平臺。
>首先在我們的一臺服務器上安裝相關的軟件。
>項目構建架構使用:Apache+SVN+SVNADMlN
>持續集成工作使用:Jenkins
>Jenkins的前身是Hudson,是做持續集成必不可少的工具,主要用途:持續、自動的構建項目;構建自動化測試項目;監控定時執行的一些任務。
>先說說一下安裝:
Jenkins的war包下載地址:http://mirrors.jenkins-ci.org/war/
>Jenkins的使用博客:
http://www.cnblogs.com/zhuque/archive/2013/01/22/2871184.html
1、Linux安裝Apache
(1)在192.168.74.157下,使用root用戶,進行yum update操作更新,然後reboot重啓! 可有可無
(2)然後開始安裝,步驟如下:
下載命令:yum install httpd httpd-devel
啓動命令:service httpd start
開機啓動:chkconfig httpd on
修改文件:vim /etc/httpd/conf/httpd.conf
內容如下:
ServerName localhost:80
然後訪問地址:http://192.168.74.157/ 看到正常的Apache歡迎頁面即可
(3)安裝svn服務模塊
下載命令:yum install mod_dav_svn subversion(必須安裝,因爲我們是svn與Apache整合)
安裝後,我們可以看一下 cd /etc/httpd/conf.d/ 下是否存在 subversion.conf文件
(4)重啓Apache服務:service httpd restart,然後我們可以查看是否安裝成功svn模塊:
查看命令:ls /etc/httpd/modules/ | grep svn
查看版本;svn --version
(5)我們需要創建svn庫(主目錄,使用多庫方式:一份配置文件管理多個svn庫)
創建文件夾命令:mkdir /svn/
編輯subversion.conf文件命令:vim /etc/httpd/conf.d/subversion.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/
(6)創建 /svn/passwd.http 和 /svn/authz 文件
命令:touch /svn/passwd.http
命令:touch /svn/authz
重啓Apache服務:service httpd restart
2、安裝svnadmin管理平臺(svn賬戶權限分配)
1、開始安裝mysql
安裝命令:yum install mysql-server mysql mysql-devel
啓動命令:service mysqld start
查看命令:chkconfig --list | grep mysqld
開機啓動:chkconfig mysqld on
設置mvsql密碼:mysqladmin -u root password root
登錄命令:mysql -u root -p回車後輸入密碼即可
進行遠程訪問賦權:
Sql>GRANT ALL PRIVILEGES ON*.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
sql>FLUSH PRIVILEGES;
遠程登錄驗證,如下圖所示,則表示遠程連接成功!
|
2、安裝tomcat
首先到 /usr/local/software 下
命令:cd /usr/local/software
命令:tar -zxvf apache-tomcat-7.0.29.tar.gz
命令:mv apache-tomcat-7.0.29 /usr/local/svn-tomcat
修改server.xml文件,如下:
命令:vim /usr/local/svn-tomcat/conf/server.xml
修改內容:
<Server port="9005" shutdown="SHUTDOWN">
<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="9443" URIEncoding="UTF-8"/>
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
3、上傳svnadmin.war到 /usr/local/svn-tomcat/webapps 下
進入目錄:cd /usr/local/svn-tomcat/webapps
解壓命令:unzip svnadmin.war -d svnadmin
刪除命令:rm -f svnadmin.war
編輯配置文件命令:vim /usr/local/svn-tomcat/webapps/svnadmin/WEB-INF/jdbc.properties
修改文件內容如下: MySQL.jdbc.password=root 其他的數據庫連接直接註釋掉
4、創建數據庫 jsvnadmin 設置數據庫字符集:utf8,然後導入對應數據文件即可。
倒入:mysql5.sql (表和數據) 和 en.sql(語音編碼)
5、啓動tomcat,命令:/usr/local/svn-tomcat/bin/startup.sh
6、訪問:http://192.168.74.157:9090/svnadmin
第一次訪問時候需要輸入用戶名密碼:admin admin 即可 結果如下所示:
7、創建一個庫,如下圖所示:填寫項目、類型、路徑、url、描述,然後提交即可
8、我們可以看一下對應的Linux文件情況:多了一個bhz目錄,這就是我們的庫目錄!
9、接下來一步我們進入庫URL裏面(發現目前是認證失敗的情況,可能是由於我們當
前的用戶admin,沒有對這個庫的任何操作權眼,我們添加一下權限,如下圖 :
開發組 管理組 測試組
10、進行bhz文件夾賦權操作,我們可以查看一下vim /etc/httpd/conf/httpd.conf文件:
那也就是說我們使用Apache和svn整合時,使用 svnadmin 登錄的時候是用的apache這個
用戶的,但是我們之前的bhz文件夾爲root用戶的,所以在這裏需要進行文件夾賦權!
命令:cd /svn/
命令:chown -R apache.apache bhz
命令:chmod -R 777 bhz
11、之後我們需要關閉SELinux的文件訪問控制。
修改文件命令:vim /etc/selinux/config,將裏面SELINUX 值改爲 =disabled即可。
注意:需要重新啓動Linux:reboot 注意防火牆端口號等
12、啓動 tomcat (確保 apahce mysql 已啓動,確保端口號是通的)
啓動tomcat:/usr/local/svn-tomcat/bin/startup.sh
訪問:http://192.168.74.157:9090/svnadmin
13、 安 裝 tortoise, ( 首 先 安 裝 語 言 包 , 然 後 安 裝 服 務 包 ) 然 後 輸 入 連 接 , 如 下 圖 所 示 :
則 表 示 成 功 安 裝 好 tortoise 並 且 所 創 建 的 svn 庫 有 效 。 帳號密碼 admin admin
14、把前面的項目先備份,然後,在 svn客戶端,使用 add folder,將項目對應的文件夾進行上傳到svn