搭建svn伺服器並自動更新到web伺服器

2021-08-20 20:45:45 字數 3339 閱讀 9911

安裝搭建svn和版本庫

使用yum安裝svn

yum install -y subversion
-y的作用就是預設在後續彈出的提示中選擇yes 可使用yum -h檢視具體引數的作用

-y, --assumeyes answer yes for all questions

2. 檢視版本資訊

svnserve --version
如果沒有顯示正確的版本資訊 可以根據錯誤提示搜一下解決辦法

svn: error while loading shared libraries: libaprutil-1.so.0: cannot

open shared object file: no such file or directory

這個是我出現的錯誤資訊

可參考[

因為的我/usr/local目錄下並沒有apr-util這個目錄所以只加入apr這個目錄

然後使用 ldconfig -v後在輸入svnserve --version就能正確顯示版本號也能正常使用了

3. 建立版本倉

mkdir /home/svn

cd /home/svn

.

4. 建立專案目錄並進入

svnadmin create project 

cd project

在svn目錄中建立專案目錄並進入 可以看到裡面自動生成很多目錄和檔案

5. 設定使用者組 賬號密碼 許可權

修改許可權配置檔案 conf/authz

新增乙個使用者組 user1 裡面有兩個賬號 admin1 admin2

這個使用者組的許可權為 rw (可讀可寫)

設定登入的賬號密碼 conf/passwd

注意:這裡的賬號前面不能有空格 不然會導致登入失敗

配置svn配置檔案 conf/svnserve.conf

將上面這幾個前面的#號去掉即可

realm = /home/svn/project 版本倉所在位置

這個可改可不改 我沒改也是可以成功checkout的

6. 啟動svn伺服器

svnserve -d -r /home/svn
如果提示svn服務已在執行中 先退出程序在啟動

killall svnserve

svnserve -d -r /home/svn

然後我們在web目錄 檢出

svn checkout svn://localhost/project --username admin1
svnserve各引數詳解

成功匯出後 我們可以新增乙個檔案

cd project

vim index.php

儲存退出

提交檔案並更新到svn

svn add index.php 

svn commit index.php -m 'update '

顯示提交成功後 我們可以在本地檢出 就可以看到index.php這個檔案

匯入原專案到版本庫中

svn import /www/project/ file:///home/svn/projectname/ -m "initial improt"
這個指令是可將原專案(/www/project/)匯入到版本庫中

這樣在檢出(chekcout)時 便包含了原專案

使用鉤子對本地提交的檔案自動更新到web伺服器

vim /home/svn/project/hooks/post-commit
新增下面的內容

#!/bin/sh 

svn_path=/usr/bin/svn

web_path=/yjdata/www/www/project log_path=/home/svn/log/project_log

echo `date "+%y-%m-%d %h:%m:%s"` >>$log_path

$svn_path update $web_path --username admin1 --password admin1 >> $log_path

web_path 自己實際的專案路徑

log_path svn更新日誌路徑

新增完給這個檔案乙個許可權 不然會導致更新失敗

chmod 775 /home/svn/project/hooks/post-commit
同時需要在home目錄建立乙個目錄log

mkdir /home/log
然後將本地的index.php修改或者新建檔案 就能看到web目錄跟著更新了.

SVN搭建以及自動更新

svn是subversion的簡稱,是乙個開放源 的版本控制系統.說得簡單一點svn就是用於多個人共同開發同乙個專案,共用資源的目的。一 yum安裝 1 安裝svn yum install subversion 或者yum y install subversion 不需要輸入y mkdir p da...

SVN搭建以及自動更新

svn搭建文件 一,svn說明 svn是subversion的簡稱,是乙個開放源 的版本控制系統,說得簡單一點svn就是用於多個人共同開發同乙個專案,公用資源的目的。二,svn搭建 一 yum安裝 1.安裝svn yum install subversion 或者yum y install subv...

svn利用hooks自動更新遠端伺服器上的專案

專案開發階段往往需要頻繁的提交 如果不加svn鉤子的話,每次提交都要到專案目錄下執行一下svn up,非常費事,所以今天決定加個把鉤子做上。利用鉤子更新遠端專案的關鍵是實現ssh無密碼登入。svn倉庫所在伺服器 以下簡稱機器a 6.111 專案所在伺服器 以下簡稱機器b 6.28 一 首先我們實現s...