linux——SVN及項目上線

1、自行搭建svn服務(wù)器
2、使用碼云的svn

                          安裝svn

為什么安裝 --- 管理代碼用

1.安裝svn服務(wù)器端

yum install subversion 從鏡像下載安裝svn服務(wù)器端

檢測是否安裝成功 echo $? svn --help

2.創(chuàng)建svn的項目庫

cd /usr/local/ //進入目錄,準(zhǔn)備創(chuàng)建svn目錄

mkdir svn //創(chuàng)建一個svn目錄

chmod -R 777 svn //修改目錄權(quán)限為777

svnadmin create /usr/local/svn/sunny //創(chuàng)建一個svn版本倉庫sunny(sunny可以隨便起名字)

cd /usr/local/svn/sunny/conf //進入sunny版本倉庫下的配置文件目錄

下面要修改這個目錄下的三個配置文件

(1)vim svnserve.conf //配置版本庫信息和用戶文件和用戶密碼文件的路徑、版本庫路徑把

# anon-access = read
 # auth-access = write
 # password-db = passwd

//這四行,前面的#號和空格去掉(注意去掉#要頂格寫,不要留有多余空格),變成

anon-access = none //改成none
auth-access = write
password-db = passwd
realm = sunny //改成自己的版本庫
保存

(2)vi authz //文件,創(chuàng)建svn組和組用戶的權(quán)限
[groups]
sunny = gep,wce //創(chuàng)建一個sunny的組,并指定兩個用戶gep和wce

[/] //制定根目錄下的權(quán)限
@sunny = rw //sunny組用戶權(quán)限為讀寫

  • = r //其他用戶只有讀權(quán)限
    保存退出

(3) vi passwd //創(chuàng)建或修改用戶密碼
[users]
gep = 123456 //用戶名為gep的用戶的密碼為123456
wce = 123456 //。。。
保存退出

啟動svn:
svnserve -d -r /usr/local/svn/ //這里采用多版本庫的方式啟動 如果是單版本庫 可以svnserve -d -r /usr/local/svn/sunny
添加一行

然后要設(shè)置自啟動

vi /etc/rc.d/rc.local 打開自啟動文件添加

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

到此為止可以從服務(wù)端檢出文件了.

svn命令:

netstat -tnl |grep :3690 查看svn是否啟動

ps aux |grep 'svn' 查找所有svn啟動的進程

kill -9 2505 殺死2505這個查找到的svn進程(不要真的殺死)

svn的具體使用

1.代碼庫的 checkout (只要執(zhí)行一次)
svn checkout svn://192.168.1.134/sunny

2.1文件的增加

2.1.1物理增加a.php 2.1.2 svn add 2.1.3 svn commit -m

2.2文件的修改

(物理增加a.php && svn add 已經(jīng)操作過了) svn commit -m

2.3文件的刪除
(物理增加a.php && svn add 已經(jīng)操作過了) 2.3.1 svn delete 2.3.2 svn commit -m

2.4文件的更新
svn up

3.刪除代碼庫
rm -rf sunny

以下使用

檢出命令:下載版本庫 (如果錯誤,請檢查防火墻)

svn checkout svn://linux的ip/版本庫名稱

常用命令:

svn add 文件名 //新建文件并添加到svn

svn commit -m "注釋" xxx.php //提交文件

svn up //更新文件

####################################設(shè)置svn自動更新,不需要在手動去做了#####################

自動更新

在vi /usr/local/svn/????/hooks/post-commit中加入

!/bin/sh

設(shè)置一些變量

SVN=/usr/bin/svn

WEB=/你要更新的目錄

export LANG=en_US.UTF-8

SVN updateWEB --username svn用戶名 --password 密碼

其中SVN=右邊改成 svn 命令位置 一般默認為/usr/bin/svn

WEB=右邊改成你實際的web目錄

賦予可執(zhí)行權(quán)限

chmod 777 /usr/local/svn/sunny/hooks/post-commit

安裝完畢

//---------------------------------------自行掌握

svn add *.php //(添加當(dāng)前目錄下所有的php文件)

svn delete test.php //刪除test.php

svn log test.php //查看test文件的log信息

svn cleanup //清理當(dāng)前目錄

=========================================================================
其他操作

svn up更新

svn switch --relocate svn://192.168.1.253 svn://172.19.10.250 //重新定位SVN版本庫地址

// SVN版本庫起動方式,現(xiàn)在SVN下面有 sunny、test 兩個版本庫

1:單版本庫起動 svnserve -d -r /usr/local/svn/sunny

2:多版本庫起動 svnserve -d -r /usr/local/svn

區(qū)別在于起動svn時候的命令中的啟動參數(shù)-r指定的目錄。

限制不同的用戶對不同的版本庫操作權(quán)限,修改版本庫中的conf目錄下的 authz文件

以配置 sunny 版本庫為例
vi authz
[groups]
teacher = sunny,sunny1
[sunny:/] //指定版本庫跟目錄下的權(quán)限
@teacher = rw //teacher組用戶權(quán)限為讀寫

  • = r //其他用戶只有讀權(quán)限
    保存退出

vi passwd 設(shè)置組中用戶的賬號和密碼
[users]
sunny = 123456
sunny1 = 123456

1、啟動svn:
svnserve -d -r /usr/local/svn/

如果出現(xiàn),這樣的錯誤信息,“svnserve: 不能綁定服務(wù)器套接字: 地址已經(jīng)被使用”
那先把svnserve進程干掉。
具體做法是
ps -aux #查看進程,svnserve的pid為16663 kill -9 16663 #干掉svnserve
再次運行$ svnserve -d -r /var/www/svn

2、如何設(shè)置一個組的用戶可讀寫,其它用戶只能讀取
沒有輸入密碼禁止獲取版本庫

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容