在Centos7上搭建SVN伺服器並實現自動同步至web目錄
前言:
由於最近跟學長一起合作完成一個小專案,然後我倆比較熟悉的版本控制是SVN,就考慮著在伺服器上搭建一個SVN伺服器。現在在這裡給出簡單的搭建過程。
(其實吧,能用git就儘量用git吧,好處自己百度,有關搭建請參考我的另一篇部落格搭建伺服器上的GIT並實現自動同步到站點目錄(www),這篇部落格與git搭建的過程應該是基本一樣的)
預期目的:
1、倉庫放在 /var/svn/ 目錄下,並且倉庫名為 project
2、建立使用者組lsgogroup,該組下新增兩個成員lsgoweb1、lsgoweb2,密碼直接用使用者名稱,兩使用者可以checkout程式碼和提交程式碼
3、利用SVN的鉤子實現當倉庫的程式碼更新的時候自動同步至我們的web目錄,在這裡,我的web目錄在 /home/www/ 下
一、搭建svn環境並建立倉庫:
1、安裝Subversion:
yum install -y subversion
2、檢測是否安裝成功(檢視svn版本號)
svnserve --version
3、建立版本庫
//先建目錄
mkdir /var/svn
cd /var/svn
//建立版本庫
svnadmin create /var/svn/project
cd project
//會看到自動生成的版本庫檔案
conf db format hooks locks README.txt
至此,svn環境搭建成功。
二、建立使用者組及使用者:
1、 進入版本庫中的配置目錄conf,此目錄有三個檔案: svn服務綜合配置檔案(svnserve.conf)、 使用者名稱口令檔案(passwd)、許可權配置檔案(authz)。
2、修改許可權配置檔案:vim authz
3、配置使用者名稱命令檔案:vim passwd
4、配置SVN服務綜合配置檔案svnserve.conf
//找到以下配置項,將前面的#號去掉,然後做相應的配置
anon-access = none //匿名使用者訪問許可權:無
auth-access = write //普通使用者訪問許可權:讀、寫
password-db = passwd //密碼檔案
authz-db = authz //許可權配置檔案
realm = /var/svn/project //版本庫所在
注意:所有以上的配置項都需要頂格,即前面不能預留空格,否則報錯
5、啟動svn服務:
svnserve -d -r /var/svn
如果提示:
svnserve: E000098: Can't bind server socket: Address already in use
證明現在svn已經被啟動了,由於我們修改了配置檔案,因此要重啟svn服務
//檢視svn服務詳情
ps aux | grep svn
//將svn服務強制停止 其中790為svn服務的ID號,-9是kill的引數
kill -9 790
或者用
killall svnserve
再執行 svnserve -d -r /var/svn,進行啟動服務
6、測試伺服器:
//我們在web目錄測試(/home/www)
cd /home/www
svn co svn://localhost/project
如果提示:Checked out revision 1.
表示checkout成功
我們新增新檔案來測試是否提交成功
cd /home/www
touch index.php
svn add index.php //成功的話會顯示 A index.php
svn commit index.php -m "測試提交檔案"
假如最後提示:
Adding index.php
Transmitting file data .
Committed revision 2.
則表示我們svn伺服器搭建成功!檔案已經能夠推送了。
7、本地拉取、推送
在本地首先要安裝SVN吧,具體百度。。。
填寫資訊:
點選ok,提示輸入使用者名稱和密碼
就填剛才我們建立的lsgoweb1或lsgoweb2,和對應的密碼即可。
三、實現svn更新自動同步到web目錄:
1、在web目錄中checkout版本庫
這一步算是比較關鍵的一步了,當時我搭建的時候試了無數次,就是缺少了這一步。把剛才checkout的版本庫刪掉,我們來一次比較正式的checkout:
svn co svn://localhost/project /home/www --username lsgoweb1(SVN賬號) --lsgoweb1(SVN密碼)
進入/var/svn/project/hooks下,建立post-commit檔案:
cd /var/svn/project/hooks
vim post-commit
//在該檔案裡新增如下程式碼,儲存
#!/bin/sh
#設定環境變數,如果沒有設定可能會出現update報錯
#設定語言,根據系統語言設定,如果是GBK就設定為 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn //這裡不用改
WEB_PATH=/home/www //web目錄,如果你的不同,可以改
//這裡的使用者隨便一個就好
$SVN_PATH update $WEB_PATH --username 'lsgoweb1' --password 'lsgoweb1' --no-auth-cache
儲存退出。
修改post-commit使用者為www目錄使用者
chown apache:apache post-commit //我的 /home/www 的使用者組和所有者都是apache
給post-commit 執行許可權:
chmod 755 post-commit
麻蛋,終於寫完了。。。。
相關推薦
在Centos7上搭建SVN伺服器並實現自動同步至web目錄
前言: 由於最近跟學長一起合作完成一個小專案,然後我倆比較熟悉的版本控制是SVN,就考慮著在伺服器上搭建一個SVN伺服器。現在在這裡給出簡單的搭建過程。 (其實吧,能用git就儘量用git吧,好處自己百度,有關搭建請參考我的另一篇部落格搭建伺服器上的GIT並
CentOS 建立SVN 伺服器,並且自動同步到WEB 目錄
一、安裝Subversion #yum install subversion 二,基本的SVN伺服器配置 1,新建一個目錄用於儲存SVN所有檔案# mkdir /home/svn 2,新建一個版本倉庫# svnadmin create /home/sv
centos7上部署vnc伺服器並實現遠端桌面
centos7上部署vnc伺服器並實現遠端桌面 centos7上進行一下操作 [root@localhost ~]# yum
Centos7 安裝搭建SVN伺服器 配置及程式碼同步web根目錄
一丶 SVN簡介 SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開
Linux安裝SVN實現自動同步到Web目錄
一:安裝SVN1,檢查伺服器是否安裝SVN svn --version 已安裝: svn, version 1.6.11 (r934486) compiled Aug 17 2015, 08:37:43
win環境下SVN利用鉤子實現程式碼同步到WEB目錄
思路: 找 到SVN Server中的倉庫(Repositories)資料夾的位置,在相應的專案資料夾中找到hooks資料夾。在該資料夾中新增一個post- commit檔案;當有commit動作發生時(提交到SVN Server時)就會執行這個post-commit檔案,
linux中svn將倉庫程式碼自動同步至制定目錄
export LANG=zh_CN.UTF-8 /usr/local/subversion/bin/svn update --username ****** --password ****** /ho
SVN利用鉤子實現程式碼同步到web目錄
系統環境:windows server 2003 web伺服器:IIS 第一步:svn伺服器的安裝 由於使用的是windows伺服器,所以我選擇了最方便配置的VisualSVN伺服器。到VisualSVN官網上下載VisualSVN的msi安裝包,在windows
linux下構建svn伺服器並實現專案自動部署
在Linux系統中搭建svn服務所需要用到的軟體叫做subversion,可以通過yum來進行安裝. svn服務是為了實現協同工作,即一個團隊公眾開發一個專案而不導致程式碼混亂,不會出現今天我修改的程式碼在不通知同事的情況下又被他修改了.
linux線上搭建svn環境並實現上傳操作
搭建步驟: 1、檢查是否已經有svn 2、安裝subversion 3、檢查是否安裝成功 4、建立svn資源倉庫 5、新增使用者及密碼,配置許可權,配置資源庫許可權 6、啟動或者重啟服務 7、從機安裝subversion 8、測試首先檢視linux環境下是否安裝了svn如果沒
Centos7上搭建FreeSwitch伺服器
1.下載原始碼 進入目錄 cd /usr/local/src 使用git獲取原始碼,沒有安裝git的話需要先安裝 執行 yum install git 然後執行 git clone -b v1.6 https://freeswitch.org/stash/scm
centos7上搭建git伺服器
目錄 環境: 安裝git和建立使用者 建立證書登入 初始化git倉庫 踩得坑 tortisegit使用 環境: centos7,git 1.8.3,tortisegit 安裝git和建立使用者 注:$代表用root使用者登入 # 安裝Git $ y
在Linux上搭建SVN伺服器
1.安裝SVN yum -y install subversion 輸入svnserve --version 檢視是否安裝成功 2.建立版本庫目錄和版本庫 mkdir -p /var/svn/svnrepos/ #-p遞迴建立目錄 輸入 svnadmin create /var/svn
在linux伺服器上搭建SVN伺服器
收集了網上很多資料終於搭好啦。 系統環境:centOS7.0 一:解除安裝SVN(如果你是一臺新的系統機可以忽略這一步) 1: rpm -qa subversion 查詢SVN是否有過低版本SVN(沒有安裝過則不顯示) 2:yum removesubversion 解
Vue專案部署到遠端伺服器 並實現自動遠端同步專案
使用Vue開發專案時通常是前後端分離的,這樣就前後端各有一個地址,使用者訪問的是前端的地址,即前端路由,前端再向後端地址請求頁面資料然後渲染頁面。本文簡單介紹通過Apache2部署前端專案到伺服器,以及如何將本地專案自動推送到遠端服務。 我的伺服器系統
Centos下搭建SVN伺服器並同步倉庫內容到WEB目錄
第一步:安裝svnversion Centos下可以使用yum安裝,自動配置環境變數 yum install subversion 安裝完成後可以用 svn help來檢查是否安裝成功 第二步:配置svnversion mkdir -p /home/svn/r
CentOS7上搭建Maven伺服器
1. 安裝JAVA #yum install java #java -version java version "1.7.0_101" OpenJDK Runtime Environment (rhel-2.6.6.1.el7_2-x86_64 u101-b00) O
經驗分享之在CentOS 7上搭建SVN伺服器
背景:上一篇文章中介紹瞭如何搭建虛擬機器《經驗分享之使用vagrant安裝linux虛擬機器》,我們的最終目的是搭建SVN伺服器,所以本篇將重點介紹一下如何搭建SVN伺服器。 安裝步驟 這一系列的操
區域網中搭建James伺服器並實現與外網收發郵件
一、準備工作 區域網中有兩臺電腦都用Windows XP SP2系統+JDK1.6.0_02,一臺PCA,一臺PCB,PCA當伺服器,PCB當客戶端測試用,當然PCA也可同時充當客戶端。 Apache James(Java Apache Mail Enterprise S
騰訊雲centos7.3搭建SVN伺服器
步驟記錄: 1、yum install subversion 2、svnserve –version 檢查是否安裝成功 3、mkdir -p var/svn/project/first 來到根目錄,建一個專案目錄測試一下 4、svnadmin c