日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux svn同步到本地目录,LINUX中SVN服务的搭建与实现SVN 自动同步到web目录,SVN自动启动...

發布時間:2023/12/15 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux svn同步到本地目录,LINUX中SVN服务的搭建与实现SVN 自动同步到web目录,SVN自动启动... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,下載相關軟件:

[root@localhost test]# wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz

[root@localhost test]# wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz

二,安裝及配置:

1,解壓,要在同一個目錄下:

[root@ localhost test]# tar -zxvf subversion-1.6.1.tar.gz

[root@ localhost test]# tar -zxvf

subversion-deps-1.6.1.tar.gz

2,編譯及安裝:

[root@ localhost test]#cd subversion-1.6.1/

[root@ localhost subversion-1.6.1]#

./configure--prefix=/usr/local/svn/

[root@ localhost subversion-1.6.1]# make && make

install

注(可能會報錯,直接復制錯誤信息到百度搜解決方案,就不記錄了)

3,把svn相關的命令添加到環境變量中:

[root@ localhost subversion-1.6.1]# echo

"exportPATH=$PATH:/usr/local/svn/bin/" >> /etc/profile

[root@ localhost subversion-1.6.1]# source /etc/profile

三,建立測試倉庫:

1,建立SVN的根目錄:

[root@localhost subversion-1.6.1]# mkdir -p?/data/svn/{目錄自己選擇}

-p:

可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;

2,建立一個測試倉庫:

進入到根目錄運行下面的命令,就會在/data/svn/下面新建一個名字叫firstsvn的庫

[root@localhost subversion-1.6.1]# svnadmin create firstsvn

3、導入版本庫

svn import [源路徑] [目標版本庫路徑] -m [日志信息]

svn import svn/ file:///data/svn/firstsvn?-m '初始化svn目錄'

3,修改配置文件:

[root@localhost svnfirst]# cd /data/svn/firstsvn/conf/

[root@ localhost conf]# vim svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /data/svn/firstsvn/passwd

authz-db = /data/svn/firstsvn/authz

[root@ localhost conf]# vim passwd

svnname = 123456

用戶名=密碼

[root@ localhost conf]# vim authz

[groups]

admin = xiaoran.shen,test1

user = test2

[/]

@admin = rw

@user = rw

#除了以上用戶其余用戶權限為空,禁止訪問

* =

四,在Windows 上安裝svn客戶端:

五,啟服務器及測試:

1,啟SVN服務,并指定SVN的根目錄:

查看SVN服務是否啟動

ps aux | grep svnserve

停止服務: killall svnserve

啟動服務指定根目錄

[root@localhost test]# svnserve -d -r /data/svn/

2,服務已經正常起來:

[root@localhost test]# netstat -tunlp | grep svn

tcp?0?00.0.0.0:3690?0.0.0.0:*?LISTEN?8646/svnserve

3,測試:

在Windows

盤符下新建一個名稱為firstsvn的目錄,在此目錄上點擊右鍵,選擇Checkout,在首行填寫svn服務器的IP地址及倉庫名稱

例:svn://192.168.1.12/firstsvn

六、配置post-commit,實現自動同步svn版本庫文件到web目錄

為了可以在修改完代碼提交到SVN服務器后,WEB服務器直接同步.需要配置SVN的鉤子,打開hooks目錄,

/data/svn/svnfirst/hooks

可以看到有一個post-commit.tmpl文件,這是一個模板文件,復制一份放在此目錄下,命名為post-commit,并將其用戶組設為www,并設置為可執行:

chown www:www post-commit

chmod +x post-commit

這樣就有了訪問www目錄的權限。*里面原有的代碼全部注釋掉*.這里可以執行shell命令,每次commit完成后都會調用此文件.

我的文件內容為:

#!/bin/sh

#設定環境變量,如果沒有設定可能會出現update報錯

export LANG=en_US.UTF-8

REPOS="$1"

REV="$2"

SVN_PATH=/usr/localh/svn/bin/svn{服務器上svn安裝的路徑}

WEB_PATH=/home/wwwroot/default{web站點目錄,如果根目錄下有多個項目還需要把要同步的項目文件夾的名稱寫上,要與svn中的名字相同}

LOG_PATH=/tmp/svn_update.log{日志文件}

$SVN_PATH update $WEB_PATH --username user(svn的用戶名) --password

password(svn用戶名對應的密碼)?--no-auth-cache >>

$LOG_PATH

說明:

1、#!/bin/sh 說明是執行shell命令

2、export LANG=zh_CN.UTF-8 是為了解決svn post commit 中文亂碼。

如果你是GBK編碼可能會提示:Erroroutput could not be translated from the native

locale to UTF-8

這是客戶端和服務器編碼的問題,默認是utf-8,可嘗試設置export

LANG=zh_CN.GBK或者exportLANG=zh_CN.UTF-8

如果不行的話可以重啟SVN服務

結束服務:killall svnserve

啟動:svnserve -d -r /data/svn

設置SVN服務隨機自啟

1、編輯rc.local文件

#vi /etc/rc.local

進入到rc.local文件

加入如下啟動命令:

/usr/local/svn/bin/svnserve -d -r /data/svn/

注:

/usr/local/svn/bin/svnserve是SVN svnserve文件的安裝絕對路徑,

/data/svn/是svn版本庫根目錄的絕對路徑。

總結

以上是生活随笔為你收集整理的linux svn同步到本地目录,LINUX中SVN服务的搭建与实现SVN 自动同步到web目录,SVN自动启动...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。