1. 程式人生 > >SVN使用鉤子實現程式碼同步

SVN使用鉤子實現程式碼同步

目標:將SubVersion伺服器程式碼倉庫中的shop專案(/home/svn/shop)實時同步到自己伺服器程式目錄(/home/wwwroot/shopproj/)中,便於每次提交之後除錯。

前期必要條件:SubVersion伺服器中一定要有程式碼倉庫中的專案程式碼,可以有兩種方法實現:
1.用TortoiseSVN checkout出shop的程式碼
在SVN客戶端TortoiseSVN建立好自己的專案,然後commit到SubVersion伺服器,然後從SubVersion伺服器checkout出shop的程式碼到/home/wwwroot/shopproj/中,執行命令:
svn co svn://127.0.0.1/shop /home/wwwroot/shopproj/

執行完畢,/shopproj/目錄下就有自己的專案了。

2.用TortoiseSVN commit程式碼到程式碼倉庫shop

建立好程式碼倉庫shop後,先把專案程式碼上傳到/home/wwwroot/shopproj/目錄下,然後依次執行命令:

svn co svn://127.0.0.1/shop /home/wwwroot/shopproj/

svn add /home/wwwroot/shopproj/*
svn commit -m=shop

執行完畢,程式碼倉庫shop中就有自己的專案程式碼了。(*執行後兩句addcommit命令的時候,要進入到shopproj/目錄下執行)

一.windows作業系統下程式碼同步
在程式碼庫的hooks(鉤子)目錄下,新建一個.bat字尾(windows批處理檔名)的檔案post-commit.bat,然後編輯檔案,在檔案中加入如下程式碼:
SET SVN="E:\Subversion1.8.17\bin\svn.exe"
SET DIR="E:\wamp\www\SVN\shopproj"
SVN update %DIR% --username harry --password harry

當使用TortoiseSVN客戶端commit檔案時,就會自動執行批處理檔案post-commit.bat,將提交上去的程式碼自動同步到目標目錄中。

二.linux作業系統下程式碼同步

同樣的,通過鉤子檔案來處理和執行:

(1)複製/home/svn/shop/hooks/post-commit.tmpl檔案為post-commit;

執行命令:cp post-commit.tmpl post-commit

(2)執行命令列修改檔案的許可權:#chmod 755 post-commit
(3)編輯post-commit,把以下程式碼寫入:
#!/bin/sh
export LANG=en_US.UTF-8
DIR=/home/wwwroot/eduproj
svn update $DIR --username 'harry' --password 'harry' --no-auth-cache

當使用TortoiseSVN客戶端commit檔案時,就會自動執行批處理檔案post-commit,將提交上去的程式碼自動同步到目標目錄DIR中。(commit檔案中的其他無關程式碼註釋掉或者刪除掉)

相關推薦

win環境下SVN利用鉤子實現程式碼同步到WEB目錄

思路:  找 到SVN Server中的倉庫(Repositories)資料夾的位置,在相應的專案資料夾中找到hooks資料夾。在該資料夾中新增一個post- commit檔案;當有commit動作發生時(提交到SVN Server時)就會執行這個post-commit檔案,

SVN使用鉤子實現程式碼同步

目標:將SubVersion伺服器程式碼倉庫中的shop專案(/home/svn/shop)實時同步到自己伺服器程式目錄(/home/wwwroot/shopproj/)中,便於每次提交之後除錯。 前期必要條件:SubVersion伺服器中一定要有程式碼倉庫中的專案程式碼,

SVN利用鉤子實現程式碼同步到web目錄

系統環境:windows server 2003 web伺服器:IIS 第一步:svn伺服器的安裝 由於使用的是windows伺服器,所以我選擇了最方便配置的VisualSVN伺服器。到VisualSVN官網上下載VisualSVN的msi安裝包,在windows

SVN 設定鉤子程式碼同步到Web目錄下面

要在SVN服務中,找到倉庫資料夾的位置,在相應的專案中找到hooks資料夾。在該檔案中新增一個post-commit檔案; 當有commit動作發生時(提交到SVN服務是就會執行這個post-commit檔案,在該檔案實現資料複製到web目錄下。 環境:SVN服務要與

[ 程式碼管理 ] GITEE 碼雲利用ssh快速實現程式碼同步管理

GITEE 碼雲利用ssh快速實現程式碼同步管理 之前由於對於git的使用方法不是很熟練,走了很多彎路,下面分享一個git + idea + 碼雲程式碼管理平臺 實現公司和家裡程式碼同步的管理方案。 提綱: 公司程式碼涉密,不方便公開,但是github私

利用svn鉤子hooks/post-commit,實現程式碼更新,自動執行指令碼

1. 在svn伺服器對應的專案中會存在以下幾個目錄和檔案 conf  db  format  hooks  locks  README.txt 其中目錄hooks是放置程式碼提交執行的檔案 進入 hooks目錄新建一個 post-comm

SVN 鉤子操作-同步更新web目錄

checkout authent ica color 創建 epo 功能 src www 一個簡單的鉤子演示:也可以網上搜索其他高級的 本次想要達到的功能是:每次用戶commit 到倉庫後,倉庫的鉤子會自動把程序又更新的www/的web發布目錄 1.現

linux搭建svn服務並手動同步程式碼到web目錄和自動更新

1.安裝svn服務端 yum -y install subversion 2.檢視安裝路徑等資訊 rpm -ql subversion 3.檢視svn幫助資訊 svn help 4.建立svn版本庫目錄(這是個大庫,裡面用svnadmin建立的才是各個專案的庫) mkdir /home/svnD

程式碼提交到svn上怎麼自動同步到www目錄下-shell案例

很多公司都會是:程式碼提交到svn後,會自動拉取最新的程式碼到www目錄下; 這樣訪問測試域名就能實時看到變化。這是怎麼實現的呢? 這裡用到了svn 的hook功能 ;svn提交完成後會執行post-commit(如果有的話) #!/bin/sh export LANG=en_US.ut

Linux安裝SVN實現自動同步到Web目錄

一:安裝SVN1,檢查伺服器是否安裝SVN svn --version 已安裝: svn, version 1.6.11 (r934486) compiled Aug 17 2015, 08:37:43

Jenkins+Vue+SVN實現程式碼提交後自動構建自動部署釋出

因為處於開發階段,程式碼更新比較頻繁,老闆時不時要改個東西,改完後還需要釋出 更新 提交 npm i npm run build… 一系列操作下來是賊煩人啊 就去網上搜了下jenkins和vue的相關資料,然後整理了下,以後程式碼更新後就可以自動打包釋出了,解放

lsync 負載實現程式碼主從同步

參考檔案: https://www.zyku.net/centos/1713.html 檢查錯誤命令: lsyncd -pidfile /tmp/lsyncd.pid  /etc/lsyncd.conf 注意事項,配置不支援#註釋,配置不支援#註釋,配置不支援#註釋 重要的事情說三遍浪

svn 鉤子(hooks)自動部署倉庫程式碼到指定web目錄

web目錄:/home/wwwroot/projectsvn版本庫目錄:/opt/svn/project1.cd /opt/svn/project/hooks 2.執行 cp post-commit.tmpl  post-commit,3.執行vim post-commit

Gitee碼雲通過WebHooks實現自動同步程式碼部署

碼雲(Gitee)的WebHooks功能,可以在我們每次提交程式碼後,向我們設定的地址post一個更新的json資訊,這樣我們就可以根據該資訊,來自動拉去我們的程式碼,實現自動同步功能. 第一步

svn 如何實現遠端windows的自動化更新(同步更新指定目錄)

1.進入版本庫下的hooks目錄 2.將post-commit.tmpl 複製為 post-commit 3.賦予post-commit可執行許可權  @echo off SET WORKING_CO

eclipse svn下主幹修改程式碼同步至分支(分支同步至主幹同理),附圖片

從主幹合併到分支  注意:svn合併針對的是目的檔案,比如 從主幹合併到分支 意思是:在分支上操作(拉取主幹上的程式碼) 反之 從分支合併到主幹 意思是 在主幹上操作(從分支上拉取程式碼)。這樣理解的話 就知道該選擇哪一項了。 以下步驟親測成功,參考了別的文章,步驟是自己走出來的!!!

svn中怎樣進行程式碼同步

在公司裡,我們要養成每天上班前更新程式碼,下班前提交程式碼的習慣,並且做好說明。 svn更新程式碼的時候,先右鍵點選需要更新的專案,在team中進入資源庫同步介面,選擇incoming mode,顯示的檔案是需要更新的, 黑色向右箭頭:本地修改過的檔案(可以選擇提交,或者覆

linux中svn將倉庫程式碼自動同步至制定目錄

export LANG=zh_CN.UTF-8 /usr/local/subversion/bin/svn update --username ****** --password ****** /ho

Centos7 安裝搭建SVN伺服器 配置及程式碼同步web根目錄

一丶 SVN簡介 SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開

在Centos7上搭建SVN伺服器並實現自動同步至web目錄

前言: 由於最近跟學長一起合作完成一個小專案,然後我倆比較熟悉的版本控制是SVN,就考慮著在伺服器上搭建一個SVN伺服器。現在在這裡給出簡單的搭建過程。 (其實吧,能用git就儘量用git吧,好處自己百度,有關搭建請參考我的另一篇部落格搭建伺服器上的GIT並