版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、使用 SVN 的 hook 將更新內(nèi)容同步到測試環(huán)境我們在開發(fā)的過程將代碼提交到 SVN 后使用 SVN 的 hook ,通過 post-commit 腳本,在目標(biāo)文件夾根下執(zhí)行 svn update 操作,將更新內(nèi)容同步到測試環(huán)境,這樣開發(fā)調(diào)試非 常方便。現(xiàn)在 SVN 庫的文件數(shù)量越來越多, svn 本地的目錄已經(jīng) 3 個(gè)多 G 了,幾十萬個(gè)文件,在目標(biāo)文件夾下執(zhí)行 svn update 進(jìn)行更新速度也就越來越慢了,常常提交之后 SVN 客戶端 會等幾分鐘沒有響應(yīng),在沒有響應(yīng)的時(shí)間內(nèi),無法再繼續(xù)提 交內(nèi)容。如果使用 zendstudio 進(jìn)行提交的話,所有保存的操 作都要等這個(gè) SVN 提交
2、完成才能繼續(xù)。原 post-commit 內(nèi)容:#!/bin/shREPOS=” $TREV= ” $2WEB=/data/webFRAMEWORK=/data/framework export LC_ALL=zh_CN.UTF-8a=svn update $WEB $FRAMEWORK /data/conf/data/shell壬壬壬壬壬壬壬I 壬壬壬壬壬壬壬 IC . -username x*i-password * | gr epn ginc onfif -n $a thenkill -HUP cat /dev/shm/nginx.pidfichown -R www.www $WEB &
3、我們主要做了以下幾個(gè)工作:1、SVN 更新后,同步在 /data/web、/data/framework 、/data/conf 、 /data/shell 4 個(gè)文件夾在下執(zhí)行 svn update 命令進(jìn)行同步更新 操作。nginx 。www 。文件數(shù)2、如果 /data/conf/nginx.conf 文件修改了,那么重啟3、將所有 /data/web 目錄下的文件所有者和組都變成 原因在于:1、提交的 SVN 的時(shí)候, 4 個(gè)文件在根下進(jìn)行更新, 量巨大響應(yīng)非常慢。2、chown 的操作也是比較浪費(fèi)。 解決的想法:對有變化的文件進(jìn)行 svn update 這樣更有效率。 解決的思路:1
4、、得到本次提交更新的文件。2、在目標(biāo)目錄中更新指定的文件3、同時(shí)將指定文件所有者和組變成www 。4、使用PHP程序當(dāng)shell來完成這樣的工作。 最后的成果是巨大的,現(xiàn)在 svn 提交已經(jīng)是飛一樣的快了, 要知道 svn 本地的目錄已經(jīng) 3個(gè)多 G 了,幾十萬個(gè)文件。 實(shí)現(xiàn)步驟:1、得到更新的文件。通過分析我們發(fā)現(xiàn) post-commit 腳本有兩個(gè)變量# 庫的路徑REPOS= ” $1# 新提交的版本號REV= ” $2通過這樣的操作就可以得到本次更新的內(nèi)容與文件。changed=$(svnlook changed -r $REV $REPOS)2、將得到的本次更新的內(nèi)容提交給PHP腳本來
5、處理,分析哪些文件發(fā)生變化/usr/local/php/bin/php-cgi -q/data/shell/svn_post_commit_resources.php“ $changed ” &用 PHP 分析出哪些文件發(fā)生變化后, 構(gòu)造 shell 命令,由 PHP 調(diào)用 shell 命令進(jìn)行更新。3、相關(guān)腳本:最新的 post-commit 文件內(nèi)容:#!/bin/sh# 庫的路徑REPOS=” $T# 新提交的版本號REV= ” $2WEB=/data/webFRAMEWORK=/data/framework export LC_ALL=zh_CN.UTF-8changed=$(svnl
6、ook changed -r $REV $REPOS)log=$(svnlook log -r $REV $REPOS)n=$n$changed ” &/usr/local/php/bin/php-cgi -q/data/shell/svn_post_commit_resources.php處理更新內(nèi)容,執(zhí)行更新命令的 PHP 腳本文件 svn_post_commit_resources.php 的內(nèi)容:$files = explode(n, $argv1);if (!is_array($files) $files=(array)$files; foreach ($files as $v)/ 取文件名$f_tem = trim(substr($v, 2);/ 取最頂層目錄名$d_tem = substr($f_tem, 0, strpos($f_tem, /);if (!in_array($d_tem, array(web, framework, conf, shell) continue;/ SVN copy 對應(yīng)的文件$f_name = /data/ . $f_tem;$cmd = svn update $f_name -username x*i -password K*$;chown www.www $f_n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聲波定位儀器產(chǎn)品供應(yīng)鏈分析
- 箭筒套體育器材項(xiàng)目營銷計(jì)劃書
- 便攜式嬰兒搖床產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 書籍裝訂行業(yè)市場調(diào)研分析報(bào)告
- 放大設(shè)備攝影產(chǎn)品供應(yīng)鏈分析
- 畫框掛桿項(xiàng)目運(yùn)營指導(dǎo)方案
- 堅(jiān)果鉗產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 化妝粉產(chǎn)品供應(yīng)鏈分析
- 咖啡杯產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 玩具滑板車市場分析及投資價(jià)值研究報(bào)告
- HJ1188-2021核醫(yī)學(xué)輻射防護(hù)與安全要求
- 【新教材】人教版(2024)七年級上冊地理第一章 地球 學(xué)情評估試卷(含答案)
- 《快樂的一天》(教案)人音版(五線譜)音樂一年級上冊
- 《水利水電工程施工一般危險(xiǎn)源LEC法風(fēng)險(xiǎn)評價(jià)賦分表(指南)》
- 2024-2030年中國3-甲基吡啶市場深度評估及未來供需格局分析研究報(bào)告
- 大國崛起之中國高鐵課件講解
- 嬰幼兒發(fā)展引導(dǎo)員(三級)理論試題及答案
- 房屋租賃糾紛投訴書范文
- 擺攤分成合同范本寫
- 核心素養(yǎng)視域下高中語文跨學(xué)科教學(xué)的實(shí)踐與思考
- 品管圈QCC成果匯報(bào)降低腦卒中患者睡眠節(jié)律紊亂發(fā)生率
評論
0/150
提交評論