SVN(一)安裝與基本配置

SVN的搭建使用,這裏僅作記錄,含蓄較少

環境:

系統
CentOS6.5

阿里源

版本
subversion-1.6.11-15.el6_7.x86_64

配置YUM源:

cd /etc/yum.repos.d;mkdir backup;mv * backup/
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all && yum makecache

安裝Subversion:

yum install subversion -y    ##默認已經系統已經安裝,可以執行此命令進行1.6X小版本升級

創建svn目錄:

創建svn的數據目錄及權限目錄
mkdir -p /data1/svndata            ##數據目錄

管理SVN:

啓動svn:
svnserve -d -r /data1/svndata/
停止svn:
pkill svnserve  ##或者killall svnserve和kill -9 PID

配置SVN:

創建運維專用的文檔庫:sadoc
svnadmin create /data1/svndata/sadoc
創建一個網頁項目代碼庫:www
svnadmin create /data1/svndata/www

分析目錄結構:

[root@CentOS6-1 svndata]# tree -L 1 ./*
./sadoc
├── conf    ##配置文件及密碼權限配置
├── db     ##數據庫的存儲位置
├── format
├── hooks   ##鉤子文件目錄
├── locks    ##鎖文件
└── README.txt
[root@CentOS6-1 svndata]# tree -L 2 sadoc
sadoc
├── conf
│   ├── authz    ##權限管理文件
│   ├── passwd   ##用戶管理文件 
│   └── svnserve.conf    ##sadoc中心管理庫局部配置文件
...

修改sadoc的局部配置文件(修改svnserve.conf需要重啓服務生效

[root@CentOS6-1 conf]# egrep -v "^#|^$" svnserve.conf 
[general]
anon-access = none         ##匿名用戶訪問不允許,默認是read可讀
auth-access = write        ##通過驗證的用戶可寫
password-db = passwd        ##指定密碼文件位置,可以指定全局路徑(/data1/svnpasswd/authz),可以多箇中心庫共用一個密碼文件
authz-db = authz    ##指定權限配置文件位置,可以指定全局路徑(/data1/svnpasswd/authz),可以多箇中心庫共用一個權限文件
[sasl]

爲sadoc中心管理庫新建a1和a2用戶(這一步一定注意配置文件的格式空格及位置之類,修改即可生效無需重啓服務

[root@CentOS6-1 svnpasswd]# tail -n 5 passwd     ##passwd只是管理用戶,並不負責權限管理
[users]
# harry = harryssecret
# sally = sallyssecret
a1 = 123        ##密碼此處弱口令,企業一定強口令
a2 = 123

[root@CentOS6-1 svnpasswd]# egrep -v "^#|^$" authz    ##配置權限
[aliases]
[groups]
ops = a1,a2    ##多個用戶可以定義一個ops組,用戶間","隔開,調用時@ops即可,一定卸載groups模塊下位置不可亂
[sadoc:/]    ##sadoc主幹的權限
@ops = rw    ##ops組在主幹上具備可讀寫權限,並且無特殊修改默認向下級目錄繼承權限
[sadoc:/docker]    ##sadoc主幹下的二級目錄docker進行權限配置
a1 = r              ##此處docker二級目錄a1用戶權限爲r,a2用戶對此目錄rw(a2雖然沒寫,但是會由主幹向下繼承)
[sadoc:/python]
a2 = r

防火牆權限配置

iptables -A INPUT -p tcp -s 172.18.0.0/24 --dport 3690 -j ACCEPT
iptables -A OUTPUT -p tcp -s 172.18.0.0/24 --sport 3690 -j ACCEPT


SVN管理腳本

將腳本加入到/etc/init.d/下即可


[root@CentOS6-1 ~]# cp svnd /etc/init.d/
[root@CentOS6-1 ~]# chkconfig --add svnd
[root@CentOS6-1  ~]#  chkconfig svnd on
[root@CentOS6-1 ~]# cat svnd
#!/bin/bash
#
#chkconfig:345 85 15
#description: Start and stops the SVN Server.
export LANG="en_US.UTF-8"
PID=`netstat -tunlp|grep 'svnserve'|awk -F '[ /:]+' '{print $9}'`
PORT=`netstat -tunlp|grep 'svnserve'|awk -F '[ /:]+' '{print $5}'`
RUN_STATUS=`netstat -tunlp|grep 'svnserve'|wc -l`
PID_FILE="/var/run/svnd.pid"
SVNDIR="/data1/svndata"

. /etc/init.d/functions
 

function start(){ 
if [ -f ${PID_FILE} ]
then
   echo "服務正在運行..."
else
  /usr/bin/svnserve -d -r ${SVNDIR}
  /bin/echo $PID > ${PID_FILE}
  if [ $? -eq 0 ]
    then
       action "啓動中..." /bin/true
    else
       action "啓動中..." /bin/false
  fi
fi
}

function stop(){
if [ ${RUN_STATUS} -eq 0 ]
then
   echo "服務未在運行..."
else
   pkill svnserve
       if [ $? -eq 0 ]
      then
            rm -rf ${PID_FILE}
        action "停止中..." /bin/true  
      else
        action "停止中..." /bin/false
    fi
fi
}

function restart(){
stop
start
}

function status(){
if [ -f ${PID_FILE} ];then
   echo "服務正在運行,端口號:$PORT,進程號:$PID"
else
   echo "服務未在運行.."
fi
}

function main(){
if [ $1 = "start" ];then
start
elif [ $1 = "stop" ];then
stop
elif [ $1 = "restart" ];then
restart
elif [ $1 = "status" ];then
status
fi
}
 
main $*


==================================================================

=============================  客戶端   ===============================


win客戶端使用:TortoiseSVN(小烏龜)

命令行使用

參考:  https://blog.csdn.net/xujingzhong0077/article/details/49908603

    https://www.cnblogs.com/liwanggui/archive/2016/06/28/5624147.html

檢出:
	svn co svn://172.18.0.133/sadoc /tmp/sadoc/ --username a1 --password 123 --no-auth-cache

添加文件:
        cd /tmp/sadoc
	svn add salt_install.sh
	svn ci -m "2018年新上傳的salt自動化腳本" /tmp/sadoc/salt_install.sh --username a1 --password 123 --no-auth-cache

刪除文件:
	svn delete svn://172.18.0.133/sadoc/README  --username a1 --password 123 --no-auth-cache
	
查看分之下的文件:
	svn ls svn://172.18.0.133/sadoc/



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章