阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 6129阅读
  • 0回复

[ECS]搭建 SVN 服务器

级别: 新人
发帖
5
云币
-4
由于本人需要经常修改代码,而代码量又不是很小,天朝的宽带(非专线)上传速度大家都有目共睹,每次上传代码这个过程都能喝好几杯茶了。 r&\}E+   #t8{z~t3  
  本人以前使用过bae感觉他的SVN上传后动部署代码很方便,其次每次提交大码只会提交你更新的那一部分,省下很多时间。所以自己动手搭建了一个SVN服务器,执行完提交后自动部署到发布目录下,下面是整个搭建过程,希望可以帮到有需要的朋友。如果有错误也请高手们指点。 KTk%Np   ?yNg5z  
1、yum install subversion )E^4\3^:   7c8A|E0\mF  
2、使用rpm -ql subversion可以查看到安装位置则安装成功。不知道为什么发不了图。 EPr{1Z   Bj1{=Pvl  
3、创建svn版本库目录 u:N/aaU=   +!6dsnr8  
mkdir -p /var/svn/svnrepos  目录自己指定 "wxs   1&2X*$]y  
4、创建版本库 '&3Sl?E   :i};]pR   
svnadmin create /var/svn/svnrepos 执行完之后生成conf、db、format、hooks、locks、readme.txt 这几个文件 9\Mesf1$o   qZ=%r u  
5、进入conf目录 $;+B)#   Pbo759q 1  
  authz文件是权限控制文件 |n=kYs   N3U.62  
  password是帐号密码文件 sj`9O-?49   I&Dp~aEM]  
  svnserve.conf 是svn服务配置文件  S]1+tj   Ex`!C]sQ  
6、设置帐号密码 mxQS9y   >Y>>lE! k  
  vi password s iv KXd   aMq|xHZ  
  在[users]块中添加用户和密码,格式:帐号=密码,如 myname=123 FWdSpaas Q   +=o?&  
7、设置权限 z0HCmj9T   >0c4C< _  
  vi authz bK("8T\?   |XV@/ZGl~  
在末尾添加如下代码: #joU}Rj|   :=cZ,?PQp1  
[/] 9))%tYN   ~jOn)jBRZ  
myname=rw &6MGPh7T   9]]isE8r  
意思是版本库的根目录刚才的用户名myname对其有读写权限。 ^$_ifkkLz   *p  !F+"  
8、修改svnserve.conf文件 ^=D77    jS   _X/`7!f  
  vi svnserve.conf =}r&>|rrJ   W? SFt z  
  打开这几个注释: _QBd3B%   `{v!|.d<  
  anon-access = read B{/Pv0y   d) i64"  
  auth-access = write -j]r\EVKS   <RaUs2Q3.  
  password-db = passwd 5HL JkOV5   y7Sey;  
  authz-db=authz L|6clGp   _Yqog/sG  
  realm=/var/svn/svnrepos 这个修改成刚才创建的版本库 F!`.y7hY@   XI/LVP,.  
9、启动svn版本库 *xU^e`P   ^V;h>X|  
  svnserve -d -r /var/svn/svnrepos tJ.LPgfZ   $!q(-+(  
Y: KB"H   RASPOc/]   
.m/Lon E   I/vQP+w O  
10、利用svn的post-commit将svn服务器的文件同步到固定的目录 Lvv`_   Z!eW_""wp  
  cd /var/svn/svnrepos/hooks ?_W "=WpC   eY'< UO  
  cp post-commit.tmpl post-commit RURO0`^   tX'2 $}  
  chmod a+x post-commit ?8!    4!P%n   XhEJF !  
  编辑post-commit钩子脚本 %r6~5_A   VxTrL}{(6  
  vi post-commit 修改里面的如下内容 wXXv0OzK   [19QpK WM  
  export LANG=zh_CN.UTF-8 Qh/yPOSm:   &4}Uaxt)  
  SVN=/usr/bin/svn 这个是安装好的时候查看成功与否看到的那个目录 q'+XTal   X={Z5Xxr"  
  WEB=/home/myweb这个就是你每次完成提交svn自动提交到的那个目录 9eGM6qW\_   2}<_l 2  
  ${SVN} update ${WEB} --username myname( 你刚才设置的用户名 ) --password 123( 你刚才设置的密码) vCbqZdy?   Z^_-LX:%  
  需要说明一下的就是你需要切换到/home/web (你指定svn自动提交的那个目录)下面手动进行一次checkout: svn co svn://localhost(会在刚才的/home/web生成一个localhost文件夹) mkj`z   Z6\H4,k&  
  用ftp工具到/home/myweb/localhost 下面把里面的.svn放到你的/home/myweb里面这样以后只要从客户端提交代码就会自动同步到你的指定的目录了。 og.dYs7W4   ?#]wx H,  
整个过程就是这样,可能有很多没有表达清楚。如果有不正确的地方还请指正,不明白的地方也可以问我。 <B$Lu4b@c   vDit&Lh{T  
4=F~^Xc`   d(!g9H  
Kj}hb)HU   *MD\YFXR  
客户端的操作这里就不说了自己百度一下就可以了。
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)