YII2開發環境版本控制 – 安裝SVN

在開發的過程當中,咱們須要使用 svn進行版本控制。html

1.web

yum install subversion數據庫

svnserve --version
查看具體的版本信息,若是有結果,則表明SVN安裝成功。vim

  1. 建立路徑:

/home/svn/repo
#建立倉庫
svnadmin create /home/svn/repo
3.進行配置:服務器

vim /home/svn/repo/conf/svnserve.confapp

[general]
anon-access = none //匿名訪問的權限,設置爲none表示爲不容許,默認是read
auth-access = write //能夠是read,write,none,默認是write
password-db = passwd //密碼數據庫的路徑,去掉前面的#
authz-db = authz
4.配置svn的密碼文件:tcp

vim /home/svn/repo/conf/passwd
[user]
username = passwd
上面的例子爲填寫用戶名和密碼,若是是water 密碼爲888888ide

[user]
water = 888888
配置文件 /home/svn/repo/conf/authzsvn

[groups]
[/]
terry = rw
#表明terry 這個帳戶對應的路徑爲根目錄,對根目錄下的全部文件和文件夾有讀寫的權限
[/magento]
terry = r
#表明terry這個帳戶對應的路徑是magento文件夾,在這個目錄下的文件只有讀的權限
[/magento/app/etc/local.xml]
terry =
#表明terry對上面這個文件不可見。即:不可讀,不可寫
設置可讀工具

vim /home/svn/repo/conf/svnserve.conf
anon-access = none
設置完成後,關閉svn,重啓

關閉svn: killall svnserve
啓動svn: svnserve -d -r /home/svn/repo --listen-host ip地址
開放端口:

/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/rc.d/init.d/iptables save

通過了4步驟,咱們建立了帳戶,設置了帳戶的權限,當咱們用svn工具訪問svn://ip地址,就能夠訪問了。

在本地能夠經過上傳文件到svn服務器

咱們想要的是svn中提交的文件,複製到服務器的web路徑中,因此咱們須要把svn中的數據提交到web路徑

這裏咱們使用的命令式svn up,強制提交:svn up –force

首先咱們須要先設置,把svn中的路徑,對應的web目錄

譬如:svn://192.168.1.12/magento 對應到/www/web/come/public_html,咱們的配置爲

svn co svn://192.168.1.12/magento /www/web/come/public_html

而後須要輸入root密碼,
而後須要輸入提交帳戶,這個帳戶就是svn的在上面配置文件中添加的帳戶,
更改svn up 帳戶命令:svn co --username xxx svn://192.168.1.12/magento

6

若是svn up 報錯:

Skipped ‘.’

須要到輸出的路徑下,譬如到/www/web/come/public_html下面svn up 就能夠了

7

開機啓動svn

vi /etc/rc.local
在最後一行加入:
svnserve -d -r /home/svn/repo

8

自動更新,不須要svn up

svn co svn://115.29.18.29/erp /www/web/

在SVN 項目版本庫的存儲目錄下的hooks 目錄,新創建一個post-commit文件:

vi /home/svn/repo/hooks/post-commit

touch /home/svn/repo/hooks/svn_hook.log
chmod 777 -R /home/svn/repo/hooks/svn_hook.log
#!/bin/sh
REPOS="$1"
REV="$2"
WEB=/www/web
export LANG=en_US.UTF-8
echo whoami,$REPOS,$REV >> /home/svn/repo/hooks/svn_hook.log
svn update $WEB
保存,退出。
權限:chmod 777 post-commit

測試,看腳本是否有權限問題:

複製代碼 代碼示例:

./post-commit

之後每次客戶端提交操做,就會自動運行該腳本。

相關文章
相關標籤/搜索