成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 下 SVN 的安裝和配置

系統(tǒng) Linux
SVN 是一個(gè)自由開(kāi)源的版本管理系統(tǒng),它可以按照時(shí)間的順序去管理文件、目錄以及對(duì)其進(jìn)行的修改。于今,它被廣泛的用于互聯(lián)網(wǎng)公司的項(xiàng)目版本管理中。

 [[385653]]

本文轉(zhuǎn)載自微信公眾號(hào)「Linux開(kāi)發(fā)那些事兒」,作者LinuxThings。轉(zhuǎn)載本文請(qǐng)聯(lián)系Linux開(kāi)發(fā)那些事兒公眾號(hào)。   

 SVN 是一個(gè)自由開(kāi)源的版本管理系統(tǒng),它可以按照時(shí)間的順序去管理文件、目錄以及對(duì)其進(jìn)行的修改。于今,它被廣泛的用于互聯(lián)網(wǎng)公司的項(xiàng)目版本管理中。

工作原理

它的工作原理如下圖所示

它是由一個(gè)SVN服務(wù)器和許多的SVN客戶端組成

數(shù)據(jù)統(tǒng)一存儲(chǔ)在SVN服務(wù)器上

客戶端 從服務(wù)器檢出(checkout)指定路徑上的版本文件到本地,修改了之后再提交(commit)到服務(wù)器上,當(dāng)其他的客戶端再次檢出或更新的時(shí)候,就能獲取得到之前客戶端提交的修改

這樣,多個(gè)客戶端就可以互不干擾的工作,實(shí)現(xiàn)了多人的協(xié)作

SVN已經(jīng)是一個(gè)非常成熟且能快速實(shí)現(xiàn)項(xiàng)目版本管理的工具了,很多中小團(tuán)隊(duì)中都在使用,下面介紹下SVN服務(wù)器的安裝和配置

安裝

  1. yum install -y subversion 

安裝完成之后,執(zhí)行 svn --version 查看是否安裝成功,如果有類似下面的輸出則表示安裝成功

  1. [root@cghost21 ~]# svn --version 
  2. svn, version 1.7.14 (r1542130) 
  3.    compiled Sep 30 2020, 17:44:04 
  4.  
  5. Copyright (C) 2013 The Apache Software Foundation. 
  6. This software consists of contributions made by many people; see the NOTICE 
  7. file for more information. 
  8. Subversion is open source software, see http://subversion.apache.org/ 
  9.  
  10. The following repository access (RA) modules are available: 
  11.  
  12. * ra_neon : Module for accessing a repository via WebDAV protocol using Neon. 
  13.   - handles 'http' scheme 
  14.   - handles 'https' scheme 
  15. * ra_svn : Module for accessing a repository using the svn network protocol. 
  16.   - with Cyrus SASL authentication 
  17.   - handles 'svn' scheme 
  18. * ra_local : Module for accessing a repository on local disk. 
  19.   - handles 'file' scheme 
  20.  
  21. [root@cghost21 ~]# 

默認(rèn)目錄

  • svnserve 安裝目錄

svnserve 默認(rèn)安裝在 /usr/bin 目錄下,可通過(guò) which svnserve 命令查看

  1. [root@ecs-centos-7 ~]# which svnserve 
  2. /usr/bin/svnserve 
  • 倉(cāng)庫(kù)地址

svnserve 默認(rèn)的倉(cāng)庫(kù)地址是 /var/svn , 通過(guò) /etc/sysconfig/svnserve 配置文件可以修改

  1. [root@ecs-centos-7 ~]# cat /etc/sysconfig/svnserve  
  2. # OPTIONS is used to pass command-line arguments to svnserve. 
  3. #  
  4. # Specify the repository location in -r parameter: 
  5. OPTIONS="-r /var/svn" 
  • svnserve 端口

svnserve 啟動(dòng)之后,默認(rèn)使用 3690 端口

  1. [root@ecs-centos-7 test_a]# netstat -anpt | grep svnserve 
  2. tcp    0    0 0.0.0.0:3690    0.0.0.0:*   LISTEN      28347/svnserve 

配置

  • 創(chuàng)建倉(cāng)庫(kù)

安裝完成之后,使用 svnadmin create 倉(cāng)庫(kù)目錄 來(lái)創(chuàng)建一個(gè)新倉(cāng)庫(kù)

我們?cè)?/home/tt 目錄下建立一個(gè)名為svn的倉(cāng)庫(kù),以后所有的項(xiàng)目文件都放在這個(gè)目錄下,創(chuàng)建成功之后在svn目錄下多了幾個(gè)子目錄

  1. [root@ecs-centos-7 tt]# svnadmin create /home/tt/svn 
  2. [root@ecs-centos-7 tt]# ls svn/ 
  3. conf  db  format  hooks  locks  README.txt 

conf 目錄是存放配置文件的

  1. [root@ecs-centos-7 tt]# svnadmin create /home/tt/svn 
  2. [root@ecs-centos-7 tt]# ls svn/ 
  3. conf  db  format  hooks  locks  README.txt 

authz 是用戶權(quán)限控制文件

passwd 是賬號(hào)密碼配置文件

svnserve.conf 是svnserve服務(wù)配置文件

  • 配置用戶名密碼

編輯 passwd 配置文件,添加ta用戶名和123456密碼、 tb用戶名和12345密碼以及tc用戶名和123密碼

  1. [root@ecs-centos-7 conf]# vim passwd  
  2. ### This file is an example password file for svnserve. 
  3. ### Its format is similar to that of svnserve.conf. As shown in the 
  4. ### example below it contains one section labelled [users]. 
  5. ### The name and password for each user follow, one account per line. 
  6.  
  7. [users] 
  8. # harry = harryssecret 
  9. # sally = sallyssecret 
  10. ta = 123456 
  11. tb = 12345 
  12. tc = 123 
  • 配置用戶權(quán)限

為 SVN 用戶 ta 配置讀寫(xiě)權(quán)限,為 SVN用戶 tb 配置只讀權(quán)限,為 SVN用戶 tc 配置只讀權(quán)限

上圖中是配置倉(cāng)庫(kù)的根目錄訪問(wèn)權(quán)限,如果想配置倉(cāng)庫(kù)中指定目錄的訪問(wèn)權(quán)限,可以在末尾增加一個(gè)倉(cāng)庫(kù)目錄,目錄下面再配置用戶的訪問(wèn)權(quán)限即可

比如:倉(cāng)庫(kù)根目錄下有一個(gè)myproject的目錄,用戶ta有讀寫(xiě)權(quán)限,用戶tb無(wú)訪問(wèn)權(quán)限,用戶tc有只讀權(quán)限,則 myproject 目錄的權(quán)限配置如下

  1. [/myproject] 
  2. ta=rw 
  3. tc=r 
  4. *= 
  • 配置 svnserve 服務(wù)

如上圖所示,打開(kāi)紅框中的選項(xiàng)前的注釋,注意:每個(gè)選項(xiàng)前都不能有空格

  1. anon-access = none   # 匿名用戶無(wú)法訪問(wèn) 
  2. auth-access = write   #授權(quán)用戶可寫(xiě) 
  3. password-db = passwd  #用戶密碼驗(yàn)證文件 
  4. authz-db = authz      #用戶權(quán)限驗(yàn)證文件 
  5. realm = /home/tt/svn  #svn版本庫(kù)目錄 

啟動(dòng)、停止、重啟

修改 /etc/sysconfig/svnserve 中OPTIONS 的值為我們新創(chuàng)建的倉(cāng)庫(kù)地址

  1. [root@ecs-centos-7 ~]# vim /etc/sysconfig/svnserve  
  2. # OPTIONS is used to pass command-line arguments to svnserve. 
  3. # Specify the repository location in -r parameter: 
  4. OPTIONS="-r /home/tt/svn" 

svn安裝完成之后,默認(rèn)已經(jīng)添加到systemctl中了,使用以下命令啟動(dòng)、停止、重啟

  1. [root@ecs-centos-7 ~]# systemctl start svnserve 
  2. [root@ecs-centos-7 ~]# systemctl stop svnserve 
  3. [root@ecs-centos-7 ~]# systemctl restart svnserve 

在實(shí)際的部署中,為了重啟機(jī)器時(shí),不影響客戶端的使用,svnserve通常會(huì)設(shè)置成開(kāi)機(jī)啟動(dòng)

  1. [root@ecs-centos-7 ~]# systemctl enable svnserve 
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service. 

客戶端檢出

配置好用戶密碼以及訪問(wèn)權(quán)限之后,重新啟動(dòng) svnserve

新建test_a 目錄,進(jìn)入該目錄,執(zhí)行 svn co svn://192.168.0.9 --username ta --password 123456 命令檢出svn倉(cāng)庫(kù)中的文件以及目錄

  1. [root@ecs-centos-7 tt]# mkdir test_a 
  2. [root@ecs-centos-7 tt]# cd test_a/ 
  3. [root@ecs-centos-7 test_a]# svn co svn://192.168.0.9 --username ta --password 123456 
  4. [root@ecs-centos-7 test_a]# svn info 
  5. 路徑: . 
  6. 工作副本根目錄: /home/tt/test_a 
  7. URL: svn://192.168.0.9 
  8. 版本庫(kù)根: svn://192.168.0.9 
  9. 版本庫(kù) UUID: c9730d20-968c-41c0-a224-4c6a967f8330 
  10. 版本: 1 
  11. 節(jié)點(diǎn)種類: 目錄 
  12. 調(diào)度: 正常 
  13. 最后修改的作者: ta 
  14. 最后修改的版本: 1 
  15. 最后修改的時(shí)間: 2020-12-04 23:48:11 +0800 (五, 202-12-04) 

適用的場(chǎng)景

每個(gè)工具都有其適用的場(chǎng)景,SVN也不例外

當(dāng)你需要記錄文件每一次的修改時(shí)間,查看隨著時(shí)間變化的日志,追溯和回退到任意一次修改時(shí)間點(diǎn)時(shí)的版本,多人協(xié)作一起開(kāi)發(fā)并追蹤是誰(shuí)進(jìn)行了修改,那么是很適合使用SVN。

對(duì)于一些比較大的或者后續(xù)不會(huì)有任何修改的文件、把SVN當(dāng)做文件傳輸?shù)闹修D(zhuǎn)站,這些都不適合用SVN,比如:從一個(gè)SVN客戶端上傳一部電影到SVN服務(wù)器上,然后在另一個(gè)SVN客戶端更新這個(gè)電影文件,這是誤用SVN這個(gè)工具了,上述文件的同步有專門(mén)的工具(rsync)來(lái)處理。

小結(jié)

本章介紹了SVN服務(wù)器的工作原理、安裝、配置、使用場(chǎng)景等,關(guān)于更多SVN相關(guān)的知識(shí)可以參考官方文檔。

對(duì)于中小創(chuàng)業(yè)團(tuán)隊(duì),在事情多,人員少,時(shí)間緊的情況下,具有安裝簡(jiǎn)單、使用方便、易上手(特別是對(duì)于非技術(shù)人員,稍微講解下就能上手使用)等特點(diǎn)的SVN是非常好的選擇。

 

責(zé)任編輯:武曉燕 來(lái)源: Linux開(kāi)發(fā)那些事兒
相關(guān)推薦

2010-06-02 11:16:31

2010-05-25 11:24:30

SVN安裝配置

2012-11-05 13:33:08

LinuxHBase

2010-05-21 15:12:58

Centos下SVN的

2010-06-01 10:28:14

安裝SVN客戶端

2010-06-01 09:54:23

SVN客戶端安裝

2014-08-06 15:25:36

LinuxNagios

2010-05-12 18:05:45

linux下subvesubversionapache配置

2010-05-26 16:08:11

2011-03-29 10:22:33

2010-02-02 14:30:42

Linux SVN

2010-01-22 10:51:54

svn命令linux

2010-05-31 13:11:45

MyEclipse下S

2010-05-25 12:20:46

SVN安裝配置

2010-05-21 13:57:39

SVN在Windows

2011-03-31 10:26:51

安裝MRTG

2011-03-31 10:17:40

Linuxsvn命令

2010-05-25 18:32:22

apache+svn+

2013-06-26 15:58:33

CentOS 5.6Memcached

2009-11-24 09:26:49

LinuxJDKTomcat
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品自在线 | 欧美精品日韩精品国产精品 | 国产在线观看免费 | 日日爱夜夜操 | 国产精品美女久久久久久久网站 | 成人一级黄色毛片 | 一级做受毛片免费大片 | 97超碰人人 | 精品成人av | 久久午夜视频 | 精品国产一区二区三区久久 | 一区二区三区四区在线视频 | 亚洲精品国产电影 | 91av在线免费看 | 日韩视频免费 | 日本精品裸体写真集在线观看 | 91在线观看免费 | 欧美精品欧美精品系列 | 欧美精品一 | 久国产视频 | 中文字幕亚洲免费 | 黄色一级免费 | www国产精 | 一区二区成人 | 欧美黄色片| 久久久久亚洲精品 | 自拍第1页 | 日韩在线精品 | 久久久久久黄 | 亚洲一区二区三区四区视频 | 99久久中文字幕三级久久日本 | 欧美成ee人免费视频 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 国产精品成人一区二区三区吃奶 | 美女久久| 欧美偷偷操 | 天天操夜夜看 | 欧美淫| 一区二区视频在线 | 性生生活大片免费看视频 | 天天躁人人躁人人躁狂躁 |