<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA—咖啡館

    ——?dú)g迎訪問(wèn)rogerfan的博客,常來(lái)《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術(shù),交流工作經(jīng)驗(yàn),分享JAVA帶來(lái)的快樂(lè)!本網(wǎng)站部分轉(zhuǎn)載文章,如果有版權(quán)問(wèn)題請(qǐng)與我聯(lián)系。

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    準(zhǔn)備工作

      首先先下載Windows版本的SVN服務(wù)器(各位都會(huì)使用搜索引擎所以就不提供下載地址了),這里我以svn-win32-1.4.3的ZIP解壓縮版為例,將其解壓縮到目標(biāo)目錄,例如我是解壓到D盤(pán)下的Subversion目錄,把D:\Subversion\bin加到系統(tǒng)環(huán)境變量,如果你的解壓位置與我不同,那么請(qǐng)按照你的實(shí)際路徑設(shè)置環(huán)境變量。

    第一步:創(chuàng)建SVN數(shù)據(jù)庫(kù)

      打開(kāi)Windows命令提示符,執(zhí)行命令svnadmin create F:\SVN,svnadmin create是創(chuàng)建SVN數(shù)據(jù)庫(kù)的命令,F:\SVN是你的SVN數(shù)據(jù)庫(kù)位置,這里我只是舉個(gè)例子,你可以自己決定SVN數(shù)據(jù)庫(kù)位置,執(zhí)行完以上命令后就會(huì)在F盤(pán)下多出一個(gè)SVN目錄,里面有若干目錄和文件,conf目錄是用來(lái)存放權(quán)限配置的,后面會(huì)詳細(xì)說(shuō)明,dav目錄用來(lái)提供給apache和mod_dav_svn存儲(chǔ)內(nèi)部數(shù)據(jù),db目錄是所有版本控制的數(shù)據(jù)文件,hooks目錄用來(lái)放置hook腳本文件,locks目錄存放Subversion文件庫(kù)鎖定數(shù)據(jù),用來(lái)追蹤存取文件庫(kù)的客戶端,format是一個(gè)文本文件,里面只放了一個(gè)整數(shù),表示當(dāng)前文件庫(kù)配置的版本號(hào),還有個(gè)readme.txt不用說(shuō)也知道是干什么的了。

    第二步:啟動(dòng)SVN服務(wù)器

      繼續(xù)在Windows命令提示符里執(zhí)行命令svnserve -d -r F:\SVN,參數(shù)-d是將SVN服務(wù)做為后臺(tái)服務(wù),參數(shù)-r是指定SVN服務(wù)的根目錄位置,F:\SVN自然就是SVN根目錄了,到這里為止SVN服務(wù)器就已經(jīng)啟動(dòng)了,可以用SVN客戶端測(cè)試一下。

    第三步:將SVN服務(wù)注冊(cè)為系統(tǒng)服務(wù)

      你可能會(huì)問(wèn)這樣豈不是每次啟動(dòng)SVN服務(wù)器都要輸入一次命令?怎樣才能讓SVN服務(wù)器在開(kāi)機(jī)的時(shí)候自動(dòng)啟動(dòng)呢?答案就是將SVN服務(wù)注冊(cè)到Windows系統(tǒng)服務(wù),在Windows命令提示符里執(zhí)行命令
    sc create SVN binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN" displayname= "SVN Service" depend= Tcpip start= auto,這個(gè)命令是不是有點(diǎn)長(zhǎng)?其實(shí)很容易理解,sc是Windows自帶的系統(tǒng)服務(wù)注冊(cè)工具,微軟支持中心提供了詳細(xì)的說(shuō)明,這里我就不再?gòu)?fù)述了,參數(shù)binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN"和我們前面手動(dòng)啟動(dòng)SVN服務(wù)器的命令很像吧?只是把-d改成了--service,這不難理解,因?yàn)楝F(xiàn)在是服務(wù)嘛。好了,現(xiàn)在已經(jīng)大功告成了,重起一下試試吧。
    PS:如果想從系統(tǒng)服務(wù)里刪除剛才注冊(cè)的SVN服務(wù)可以使用sc delete SVN命令。

    第四步:設(shè)置權(quán)限

      各位都是做IT的,為研發(fā)中的項(xiàng)目設(shè)置合理的權(quán)限有多重要就不需要我說(shuō)了,就拿開(kāi)發(fā)游戲來(lái)說(shuō)吧,程序部門(mén)需要有源代碼目錄的所有權(quán)限以及美術(shù)資源目錄和策劃案目錄的獲取權(quán)限,美術(shù)部門(mén)需要有美術(shù)資源目錄的所有權(quán)限以及策劃案目錄的獲取權(quán)限,而策劃部門(mén)則需要有策劃案目錄的所有權(quán)限及美術(shù)資源目錄的獲取權(quán)限。接下去就來(lái)看看SVN是如何設(shè)置權(quán)限的,還記得第一步創(chuàng)建SVN數(shù)據(jù)庫(kù)時(shí)提到的conf目錄吧,conf目錄里有3個(gè)文件,這3個(gè)都是文本文件,用計(jì)事本打開(kāi)它們就行了,我們先看svnserve.conf文件,anon-access項(xiàng)指定了未經(jīng)驗(yàn)證的用戶所具有的操作權(quán)限,它有3個(gè)有效值,分別是read,write,none,read為讀權(quán)限,write為寫(xiě)權(quán)限,none為沒(méi)有任何權(quán)限,password-db項(xiàng)用來(lái)指定存放用戶名和密碼的文件,authz-db項(xiàng)用來(lái)指定存放用戶權(quán)限的文件,realm項(xiàng)用來(lái)指定驗(yàn)證范圍,這項(xiàng)一般情況下用不到,以上4項(xiàng)默認(rèn)都是被注釋掉的.#號(hào)為注釋符,要起用它們只需要把注釋符去掉即可。passwd文件是默認(rèn)存放用戶名和密碼的文件,例如我設(shè)置一個(gè)Sol用戶,密碼為111111,只需在[users]下添加Sol=111111即可,authz文件是默認(rèn)指定存放用戶權(quán)限的文件,[groups]代表分組,這里我們?cè)O(shè)置個(gè)developer組,將前面創(chuàng)建的Sol用戶分到developer組里,同樣只需在[groups]下寫(xiě)上developer=Sol即可,[/]代表根目錄,如果我們要設(shè)置developer組有完全的訪問(wèn)權(quán)限就在下面加上@developer=rw,前面加@符代表組,除此之外我們?cè)试S所有人都有讀取權(quán)限還要在下面加上*=r,SVN允許對(duì)每個(gè)目錄設(shè)置權(quán)限,設(shè)置方法和根目錄差不多,如果到這里你還不是很明白那么請(qǐng)看下面的例子。

    一個(gè)權(quán)限配置的例子

      我們以游戲項(xiàng)目開(kāi)發(fā)為例,項(xiàng)目名就叫Project1吧,怎么創(chuàng)建SVN數(shù)據(jù)庫(kù)上面已經(jīng)說(shuō)過(guò)了,我們?cè)赟VN的根目錄下創(chuàng)建一個(gè)名為Project1的本地?cái)?shù)據(jù)庫(kù),先配置conf目錄下的svnserve.conf文件,我們不允許任何與研發(fā)無(wú)關(guān)的人員訪問(wèn)此項(xiàng)目,因此我們禁止匿名訪問(wèn)并為每個(gè)研發(fā)人員創(chuàng)建個(gè)人帳號(hào),權(quán)限文件和帳戶信息文件用默認(rèn)同目錄下的authz文件和passwd文件就行了。

    svnserve.conf文件配置如下:

    [general]
    anon-access = none
    password-db = passwd
    authz-db = authz

      接下去配置passwd文件,為每個(gè)研發(fā)人員設(shè)置個(gè)人帳戶,假設(shè)項(xiàng)目負(fù)責(zé)人是Sol,程序部門(mén)有Tom、Mark,美術(shù)部門(mén)有John、Alina、Candice、Ellen,策劃部門(mén)有Terry、Jane,這里我們?yōu)榱朔奖銓⒚艽a全部設(shè)置為000000,現(xiàn)在是例子沒(méi)關(guān)系,實(shí)際應(yīng)用的時(shí)候密碼就不能這么隨便設(shè)置了。

    passwd文件配置如下:

    [users]
    Sol = 000000
    Tom = 000000
    Mark = 000000
    John = 000000
    Alina = 000000
    Candice = 000000
    Ellen = 000000
    Terry = 000000
    Jane = 000000

      帳戶都創(chuàng)建好了,現(xiàn)在為他們分配不同的權(quán)限,先設(shè)置4個(gè)組.分別是manager 、developer、artist、designer,將Sol分配到manager組里,將Tom、Mark分配到developer組,將John、Alina、Candice、Ellen分配到artist組,將Terry、Jane分配到designer組,等會(huì)我們會(huì)在項(xiàng)目中創(chuàng)建designs、sources、resources、reports這4個(gè)目錄,然后在reports目錄里為每個(gè)人創(chuàng)建一個(gè)以自己帳戶命名的目錄用來(lái)放每個(gè)人的工作報(bào)告,manager組擁有所有目錄的讀寫(xiě)權(quán)限,developer組擁有sources目錄的讀寫(xiě)權(quán)限以及designs和resources目錄的讀取權(quán)限,artist組擁有resources目錄的讀寫(xiě)權(quán)限以及designs目錄的讀取權(quán)限,designer組擁有designs目錄的讀寫(xiě)權(quán)限以及resources目錄的讀取權(quán)限,每個(gè)帳戶都擁有reports目錄下以自己帳戶命名的目錄的讀寫(xiě)權(quán)限,也就是說(shuō)每個(gè)人的工作報(bào)告只有自己和項(xiàng)目負(fù)責(zé)人能看到。

    authz文件配置如下:

    [groups]
    manager = Sol
    developer = Tom,Mark
    artist = John,Alina,Candice,Ellen
    designer = Terry,Jane

    [Project1:/]
    @manager = rw
    * = r

    [Project1:/designs]
    @manager = rw
    @developer = r
    @artist = r
    @designer = rw
    * =  

    [Project1:/sources]
    @manager = rw
    @developer = rw
    * =

    [Project1:/resources]
    @manager = rw
    @developer = r
    @artist = rw
    @designer = r
    * =

    [Project1:/reports/Sol]
    Sol = rw
    * =

    [Project1:/reports/Tom]
    @manager = rw
    Tom = rw
    * =

    [Project1:/reports/Mark]
    @manager = rw
    Mark = rw
    * =

    [Project1:/reports/John]
    @manager = rw
    John = rw
    * =

    [Project1:/reports/Alina]
    @manager = rw
    Alina = rw
    * =

    [Project1:/reports/Candice]
    @manager = rw
    Candice = rw
    * =

    [Project1:/reports/Ellen]
    @manager = rw
    Ellen = rw
    * =

    [Project1:/reports/Terry]
    @manager = rw
    Terry = rw
    * =

    [Project1:/reports/Jane]
    @manager = rw
    Jane = rw
    * =

      目錄的權(quán)限都設(shè)置完了,但是目錄我們還沒(méi)有創(chuàng)建,現(xiàn)在只有項(xiàng)目負(fù)責(zé)人才有權(quán)限在項(xiàng)目根目錄下創(chuàng)建目錄,所以我們用Sol的帳戶來(lái)創(chuàng)建designs、reports、resources、sources這4個(gè)目錄,然后再到reports目錄里為每個(gè)人創(chuàng)建以各自帳戶命名的工作報(bào)告目錄,好了,到這里就全部搞定了,收工。

    posted on 2010-07-09 09:02 rogerfan 閱讀(667) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 【項(xiàng)目管理】【開(kāi)源技術(shù)】
    主站蜘蛛池模板: 亚洲精品偷拍无码不卡av| 亚洲国产精品丝袜在线观看| 亚洲αv久久久噜噜噜噜噜| 激情婷婷成人亚洲综合| 成人黄动漫画免费网站视频| 亚洲人成在线中文字幕| 久久久久久夜精品精品免费啦| 亚洲人成精品久久久久| 成人A片产无码免费视频在线观看| 久久亚洲国产精品123区| 一边摸一边爽一边叫床免费视频 | 久久亚洲AV无码精品色午夜麻| 国产精品黄页免费高清在线观看| 亚洲国产精品无码久久久久久曰| 一级视频在线免费观看| 久久久久亚洲av毛片大| 最近免费中文字幕MV在线视频3 | 丰满妇女做a级毛片免费观看| 亚洲一区二区三区无码影院| 91在线免费观看| 精品亚洲国产成AV人片传媒| 国产又大又粗又长免费视频| 999zyz**站免费毛片| 亚洲AV无码专区在线厂| 久久国产色AV免费看| 日产乱码一卡二卡三免费| 国产精品免费久久| 亚洲欧洲日韩不卡| 国产无人区码卡二卡三卡免费| 亚洲欧美黑人猛交群| 亚洲综合久久夜AV | 6080午夜一级毛片免费看6080夜福利| 77777午夜亚洲| 亚洲精品无码av天堂| 久久久久国产精品免费看| 亚洲人成网站日本片| 国产精品亚洲mnbav网站 | xxxxx做受大片视频免费| 久久精品亚洲一区二区三区浴池 | 亚洲天堂一区在线| 免费大片在线观看网站|