日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SVN+post-commit 搭建自动同步版本库

發(fā)布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVN+post-commit 搭建自动同步版本库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  一.需求.

  本地文件上傳到測試環(huán)境svn,測試環(huán)境同步到生產(chǎn)環(huán)境rsync.開發(fā)環(huán)境與測試環(huán)境與生產(chǎn)環(huán)境分離.

二.搭建SVN服務(wù)器.

  yum -y install subversion && which svn

1 [root@localhost ~]# which svn 2 /usr/bin/svn 1 [root@localhost ~]# svn help 2 usage: svn <subcommand> [options] [args] 3 Subversion command-line client, version 1.6.11. 4 Type 'svn help <subcommand>' for help on a specific subcommand. 5 Type 'svn --version' to see the program version and RA modules 6 or 'svn --version --quiet' to see just the version number. 7 8 Most subcommands take file and/or directory arguments, recursing 9 on the directories. If no arguments are supplied to such a 10 command, it recurses on the current directory (inclusive) by default. 11 12 Available subcommands: 13 add ##添加文件到記錄,下次提交時會使用 14 blame (praise, annotate, ann) ##追溯文件的修改信息 15 cat ##取得特定版本的某文件顯示 16 changelist (cl)  ##提交的命名組
17 checkout (co) ##svn減除命令 18 cleanup  ##本地文件加鎖無法更新時使用 19 commit (ci)  ##提交 20 copy (cp)  ##賦值文件 21 delete (del, remove, rm) 22 diff (di)  ##顯示特定修改的詳細(xì)信息 23 export  ##導(dǎo)出工作目錄的樹形結(jié)構(gòu) 24 help (?, h) 25 import ##導(dǎo)入文件到版本庫 26 info   ##顯示一個目錄或文件的詳細(xì)信息 27 list (ls)  ## 顯示某一個版本存在的文件 28 lock  ##鎖定文件 29 log   ##展示svn的版本作者,日期,路徑 30 merge  ##合并文件 31 mergeinfo 32 mkdir 33 move (mv, rename, ren) 34 propdel (pdel, pd) 35 propedit (pedit, pe) 36 propget (pget, pg) 37 proplist (plist, pl) 38 propset (pset, ps) 39 resolve 40 resolved 41 revert  ##本地撤銷,沒有commit之前 42 status (stat, st)  ##狀態(tài)信息查看 43 switch (sw) ##把工作拷貝更新到其他目錄 44 unlock ## 解鎖文件 45 update (up) ##更新本地庫 46 47 Subversion is a tool for version control. 48 For additional information, see http://subversion.tigris.org/

創(chuàng)建版本庫

svnadmin create /data/svn/svnrepo? 這個命令創(chuàng)建一個新的版本庫,如果路徑不存在會自動創(chuàng)建出路徑

查看這個版本庫下的文件結(jié)構(gòu)

1 [root@localhost /]# ll /data/svn/svnrepos/ 2 total 24 3 drwxr-xr-x 2 root root 4096 Dec 11 08:12 conf //配置文件 4 drwxr-sr-x 6 root root 4096 Dec 11 08:11 db 5 -r--r--r-- 1 root root 2 Dec 11 08:11 format 6 drwxr-xr-x 2 root root 4096 Dec 11 08:11 hooks 7 drwxr-xr-x 2 root root 4096 Dec 11 08:11 locks 8 -rw-r--r-- 1 root root 229 Dec 11 08:11 README.txt

我們主要使用的是db庫, 新增用戶等的控制在conf

[root@localhost /]# ll /data/svn/svnrepos/conf total 12 -rw-r--r-- 1 root root 1080 Dec 11 08:11 authz  //在這里創(chuàng)建用戶 -rw-r--r-- 1 root root 309 Dec 11 08:11 passwd  //修改密碼   -rw-r--r-- 1 root root 2279 Dec 11 08:11 svnserve.conf

增加用戶,配置權(quán)限,密碼

1 vi authz 2 [/] 3 lyx=rw 4 vi passwd 5 lyx=lyx 6 vi service.conf 7 去掉passwd-db 的注釋 8 去掉authz-db 的注釋 9 配置realm = /data/svn/svnrepos

啟動服務(wù)器 svnserve -d (as deamon) -r (as root) /data/svn/svnrepos

1 [root@localhost conf]# ps axf | grep svn 2 1669 pts/0 S+ 0:00 | \_ grep svn 3 1643 ? Ss 0:00 svnserve -d -r /data/svn/svnrepos

windows 上驗(yàn)證過下  

無法訪問,顯然端口號沒有開,svnserve 的端口號是3690 在本地做一個轉(zhuǎn)發(fā).用本地13690 轉(zhuǎn)發(fā)到129 的3690 tcp

配置完之還是不行,不過提示變成了一段亂碼,顯然是有作用的. 在另一臺虛擬機(jī)中svn checkout svn://192.168.137.129報錯主機(jī)不可達(dá),顯然是防火墻的問題,于是service iptables stop .

win上再次checkout

ok . svn 安裝配置部分done !!

三 利用svn 的post-commit 鉤子自動部署

cd /data/svn/svnrepos/hooks

mv post-commit.tmpl post-commit

chmod +x post-commit //賦予ex權(quán)限

vi post-commit

1 #!/bin/sh 2 REPOS="$1" 3 REV="$2" 4 export LANG=zh_CN.UTF-8 5 echo "Code Deployed at `date "+%Y-%m-%d %H:%M"`" >> /tmp/deploy.log 6 /usr/bin/svn update /data/web --username lyx --password lyx

在 /data/web 目錄下,svn co svn://127.0.0.1 .(當(dāng)前目錄)

實(shí)驗(yàn)一下,本地創(chuàng)建文件,提交,查看/data/web 目錄是否有更新.

1 [root@localhost /]# ls /data/web/ 2 tst2.jnt tst.txt

有效果,還不錯了.

四? 總結(jié), hooks 目錄下有多種鉤子可以用了,如果你shell基礎(chǔ)比較好,可以編個更優(yōu)秀的同步腳本啊. $1 和 $2 的變量我沒有用上,應(yīng)該是有用的.

?

本站文章皆為原創(chuàng),轉(zhuǎn)載請標(biāo)明出處~ 任城小三爺.

?

轉(zhuǎn)載于:https://www.cnblogs.com/liuyuxing/p/5070218.html

總結(jié)

以上是生活随笔為你收集整理的SVN+post-commit 搭建自动同步版本库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。