老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

SVN部署http

本文詳細講述了在Ubuntu上通過SVN進行業務部署。由于使用Apache服務模塊的的實現和使用不同,本文的方案僅適用于ubuntu,如在其他環境下,請酌情部署。

創新互聯長期為上千客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為岐山企業提供專業的網站設計制作、網站制作,岐山網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發。

本文介紹在代碼提交時通過http訪問SVN服務器,使用Mysql進行用戶驗證,并在提交完成后自動部署至服務器中。

主要步驟如下:

1、 安裝Apache和Mysql:

執行

$ sudo apt-get install apache2 mysql-server
執行
$ sudo /etc/init.d/apache2 start
訪問http://127.0.0.1,測試apache是否安裝成功。如遇到端口沖突,可能是由于安裝了其他的web服務器(如Nginx)占用了80端口所引起的,可以修改相應配置文件,換用其它端口。
2、 安裝subversion及對應Apache的服務器模塊和MySQL用戶認證管理模塊:

$ sudo apt-get install subversion libapache2-svnlibapache2-mod-auth-mysql
$ sudo a2enmod auth_mysql
3、 創建subversion項目和版本庫
可以將所有的版本庫放置在一個目錄下,如/var/www/svn,可以自定義。

$ sudo mkdir /var/www/svn
然后可以創建兩個版本庫,如/var/www/svn/repos、/var/www/svn/repos1。

先創建兩個文件夾

$ sudo mkdir /var/www/svn/repos
$ sudo mkdir /var/www/svn/repos1
然后再執行svnadmin命令創建兩個倉庫,注意使用--fs-type來指定創建fsfs版本庫,默認情況下是創建Berkeley DB版本庫

$ sudo svnadmin create /var/www/svn/repos --fs-type fsfs
$ sudo svnadmin create /var/www/svn/repos1 --fs-type fsfs
最后賦予www-data用戶這些版本庫的讀寫權限,因為通過apache服務器部署時需要讀寫該文件夾
$ sudo chown -Rwww-data /home/www/svn/repos
$ sudo chown -Rwww-data /home/www/svn/repos1
4、 創建用戶驗證數據庫

創建進行用戶驗證的數據庫

$ mysql -u root -p
#創建一個數據庫,用于進行用戶驗證
mysql> CREATE DATEBASE svn;
#使用該數據庫
mysql> USE svn;
#創建一個用戶表,包含name,password和groups這三列,且名字為主鍵
mysql> CREATE TABLE user (
name char(30) NOT NULL COMMENT \'用戶名\',
passwd char(32) NOT NULL COMMENT \'密碼\',
groups varchar(32) NOT NULL COMMENT ‘群組’,
PRIMARY KEY (name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql> INSERT INTO user VALUE (\'admin\', MD5(\'admin\'),’admin’);
mysql> INSERT INTO user VALUE (\'test\', MD5(\'test\'),’test’);
需注意以下幾點:

密碼域一定要足夠寬,本文將使用MD5密碼(32字節),如果使用SHA1,則需要40字節。

必須設置groups字段,可以默認為其用戶名,這樣可以保證當使用mysql進行用戶驗證時,可以在apache的配置文件中指定群組,只有特定群組的人才能夠訪問該代碼庫,防止其他用戶訪問。

5、 編輯虛擬主機的配置文件

可以更改/etc/apache2/sites-available/default文件至如下:


#指定了管理者的郵箱,可以不寫
ServerAdmin admin@svn.com
#每一個Location指定了url為該種情況下的該指向哪個文件,如當url
#為htip://10.23.0.240/project時,對應的SVN路徑為下邊SVNPath指
#定的路徑/var/www/svn/repos,具體可以參見svn配置文檔
#http://svndoc.iusesvn.com/svnbook/1.4/

DAV svn
SVNPath /var/www/svn/repos
AuthType Basic
AuthName "SubversionRepository"
AuthBasicAuthoritative off
#指定apache通過mysql進行驗證開啟
Auth_MySQL on
Auth_MySQL_Authoritative on
#指定mysql服務器的地址為localhost
Auth_MySQL_Host localhost
#指定進行驗證的數據庫為svn;
Auth_MySQL_DB svn
#指定mysql svn數據庫的用戶名
Auth_MySQL_User root
#指定mysql svn數據庫的密碼,本倉庫中為root
Auth_MySQL_Password root
#指定mysql進行驗證的數據庫表
Auth_MySQL_Password_Tableuser
Auth_MySQL_Empty_Passwordsoff
Auth_MySQL_Encrypted_Passwordson
#指定進行驗證的用戶名的表中用戶名的字段,本倉庫為name
Auth_MySQL_Username_Fieldname
#指定進行驗證的用戶名的表中密碼的字段,本倉庫為passwd
Auth_MySQL_Password_Fieldpasswd
#指定進行驗證的用戶名的表中密碼的加密方式,本倉庫為PHP_MD5
Auth_MySQL_Encryption_TypesPHP_MD5
#指定需要進行組驗證,對于本版本庫需要該用戶的組為admin
require group admin

#同理,該location指定了訪問的url為htip://10.23.0.240/project1
#時,對應的路徑為/var/www/svn/repos1。

DAV svn
SVNPath /var/www/svn/repos1
AuthType Basic
AuthName "SubversionRepository"
AuthBasicAuthoritative off
#指定apache通過mysql進行驗證開啟
Auth_MySQL on
Auth_MySQL_Authoritative on
#指定mysql服務器的地址為localhost
Auth_MySQL_Host localhost
#指定進行驗證的數據庫為svn;
Auth_MySQL_DB svn
#指定mysql svn數據庫的用戶名
Auth_MySQL_User root
#指定mysql svn數據庫的密碼,本倉庫中為root
Auth_MySQL_Password root
#指定mysql進行驗證的數據庫表
Auth_MySQL_Password_Tableuser
Auth_MySQL_Empty_Passwordsoff
Auth_MySQL_Encrypted_Passwordson
#指定進行驗證的用戶名的表中用戶名的字段,本倉庫為name
Auth_MySQL_Username_Fieldname
#指定進行驗證的用戶名的表中密碼的字段,本倉庫為passwd
Auth_MySQL_Password_Fieldpasswd
#指定進行驗證的用戶名的表中密碼的加密方式,本倉庫為PHP_MD5
Auth_MySQL_Encryption_TypesPHP_MD5
#指定需要進行組驗證,對于本版本庫需要該用戶的組為test
require group test


需要注意,本文假設用戶admin上傳了project,而用戶test上傳了project1,因此配置兩個不同的location以進行訪問,且每一個版本庫對應一個項目。為了同一個組的用戶能訪問到該組的所有代碼,因此配置了require group選項。

6、 啟用SVN配置

重新加載配置,以使得配置生效

$sudo /etc/init.d/apache2 reload
在瀏覽器中輸入http://127.0.0.1/project,輸入用戶名admin,密碼admin,可以訪問該版本庫repos1的最新版本。使用svn客戶端,如TortoiseSVN時,版本庫的地址為http://10.23.0.240/project1/(本svn服務器端部署在10.23.0.240機器上)。然后輸入用戶名admin,密碼admin即可checkout。

在瀏覽器中輸入http://127.0.0.1/project1,輸入用戶名test,密碼test,可以訪問該版本庫repos2的最新版本。

7、war文件進行自動部署至tomcat服務器下

可以通過修改每個項目的版本庫中hooks文件夾下的post-commit鉤子,來方便的進行自動部署。該鉤子其實就是一個shell腳本,用于當上傳完畢之后執行的。注意,此shell腳本為了保證安全,不能使用環境變量。

本腳本以repos為例,repos1同理更改相應位置即可

$cd /var/www/svn/repos
#復制原來的示例文件,并且改名為post-commit
$cp post-commit.tmpl post-commit
$vim post-commit
然后修改post-commit文件的內容如下:

#將調試信息輸出至/tmp/svn-up.out文件中,這對于調試很重要
exec >/tmp/svn-up.out 2>&1
#可以看到svn調用該shell腳本時所傳遞進來的所有的參數
echo "$@"
#設置傳給SVN服務器中可以含有中文
export LANG="zh_CN.UTF-8"
#使用svn export命令將文件倉庫導出至文件夾下,也可以使用svn update命令,該命令
#貌似是只導出更新的一部分,這我沒有嘗試。
svn export --username admin --password admin http://10.23.0.240/project/home/administrator/ProgramFiles/apache-tomcat-6.0.28/webapps --force
cd /home/administrator/ProgramFiles/apache-tomcat-6.0.28/webapps
#對每個war文件建立相應的文件夾并解壓
for file in *.war
do
#獲取相應的war文件的文件夾名,如如果上傳的testSVN.war文件,則dirname為
#testSVN;
dirname=${file%%.*}
echo $dirname
echo $file
rm -rf $dirname
mkdir $dirname
cp $file $dirname
cd $dirname
#在該文件夾中將war文件解壓出來;
/home/administrator/ProgramFiles/jdk1.6.0_31/bin/jar -xf $file
rm -rf $file
cd ..
done
至此,該war文件一旦通過svn客戶端,上傳至svn服務器時,就會相應的部署到tomcat服務器下。


分享名稱:SVN部署http
本文網址:http://www.xueling.net.cn/article/cgppse.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 日韩精品视频一区二区三区 | 精品国产乱码久久久久乱码 | 日本少妇高潮正在线播放 | 在线观看一区二区精品 | 久久久久亚洲精品天堂 | 高清毛茸茸的中国少妇 | 久久亚洲精品国产亚洲老地址 | 亚洲a色| 久久精品6 | 粉嫩av一区二区老牛影视 | 国产成人久久精品二三区无码 | 91av在线视频播放 | 亚洲午夜国产精品无码中文字 | 18禁成人网站免费观看 | 亚洲人精品亚洲人成在线 | 国产精品爽爽va吃奶在线观看 | 久久这里只有精品首页 | 日本黄色电视 | 小蜜被两老头吸奶头在线观看 | 亚洲精品无码一区二区卧室 | 亚洲专区国产精品 | 蜜臀性色AV免费 | 五月婷婷激情六月 | 日本三级影片 | 久久艹天天艹 | 夜夜躁狠狠躁日日躁2022 | 嗯啊在线观看 | 日韩美香港a一级毛片 | 国产精品18久久久久久白浆动漫 | 国产免费无遮挡在线观看视频 | 妞干网免费 | 中国一级簧色带免费看 | 日本片一区 | 中国黄色影院 | 成人无码a级毛片免费 | 小嫩妇好紧好爽再快视频 | 国产精品久久久久久无码不卡 | 中文字幕第3页 | 热久久91| 国产精品人成在线播放 | 萍萍的性荡生活第六季 |