ubuntu下搭建svn,並用鉤子同步到web目錄

前言

最近在搭建服務器,用到了版本控制,在搭建過程當中也遇到了好多問題,簡單寫一寫web

步驟

一、安裝SVN數據庫

$ sudo apt-get install subversion

二、建立項目目錄vim

$ sudo mkdir svn //建立一個文件夾,用來存放一個或多個項目
$ cd ./svn       //進入這個目錄
$ sudo mkdir project//建立一個新的項目目錄
$ sudo svnadmin create ./svn/project //建立svn文件倉庫(這一步是讓這個新的文件夾變成svn的版本庫)

三、權限設置bash

$ cd ./svn/project/conf //進入設置目錄(包含有authz  hooks-env.tmpl  passwd  svnserve.conf)

$ vim passwd //添加用戶設置密碼

[users]
root = 123456
user1 = 123456
user2 = 123456

$ vim authz //編輯用戶權限

[groups]
admin = user1,user2,root
[/]
@admin=rw
*=r

$ vim  svnserve.conf //控制訪問權限

[general]
anon-access = none      #匿名用戶(anonymous users)的訪問權限
auth-access = write     #受權用戶(authenticated users)的訪問權限
password-db = passwd    #密碼數據庫文件的位置,這裏指向同級目錄下的passwd文件
authz-db = authz        #用戶受權規則文件的位置,這裏指向同級目錄下的authz文件

四、啓動svn服務器

啓動svn 
   $ svnserve -d -r ./svn  //這裏的/svn 的目錄就是你第一步建立用來存放項目的那個目錄
   
   關閉svn 
   在配置過程當中若是須要關閉svn則kill
   $ ps aux | grep svn 
   root     21618  0.0  0.0  69596   616 ?        Ss   19:07   0:00 svnserve -d -r /svn
   root     21927  0.0  0.2  11748  2156 pts/0    S+   19:10   0:00 grep --color=auto svn
   
   $ kill 21618

五、配置鉤子(若是不須要配置到web目錄,在上一步完成後既能夠檢出使用)svn

$ cd ./svn/project/hooks  //在這裏svn提供了好的鉤子模板,你能夠根據本身的狀況選擇模板,通常都是選擇post-commit.tmpl(提交後更新)

$ vim  post-commit //新建文件

#!/bin/bash
EPOS="$1"
REV="$2"
TXN_NAME="$3"
export LANG=en_US.UTF-8
/usr/bin/svn  update  --username root --password 123456 /var/www/項目目錄  > /tmp/www.log || exit 1
exit 0

if [ $? == 0 ]

then

        echo "ok" >> /tmp/wwww.out

fi

六、設置模板執行權限post

$ chmod 755 post-commit

七、先在www目錄裏檢出阿里雲

$ /usr/bin/svn checkout svn://你的服務器地址/你的版本倉庫

注:若是是新買阿里雲的服務器記得打開端口訪問限制

clipboard.png

八、本地檢出完成!spa

clipboard.png

如今便可提交併同步到web目錄了版本控制

相關文章
相關標籤/搜索