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

[ECS]搭建 SVN 服务器

级别: 新人
发帖
5
云币
-4
由于本人需要经常修改代码,而代码量又不是很小,天朝的宽带(非专线)上传速度大家都有目共睹,每次上传代码这个过程都能喝好几杯茶了。 r&\}E+   GIo&zPx  
  本人以前使用过bae感觉他的SVN上传后动部署代码很方便,其次每次提交大码只会提交你更新的那一部分,省下很多时间。所以自己动手搭建了一个SVN服务器,执行完提交后自动部署到发布目录下,下面是整个搭建过程,希望可以帮到有需要的朋友。如果有错误也请高手们指点。 KTk%Np   J9I!d.U  
1、yum install subversion )E^4\3^:   Aq QArSu,  
2、使用rpm -ql subversion可以查看到安装位置则安装成功。不知道为什么发不了图。 EPr{1Z   ?K I_>{  
3、创建svn版本库目录 u:N/aaU=   |nz,srr~  
mkdir -p /var/svn/svnrepos  目录自己指定 "wxs   3HFsR)  
4、创建版本库 '&3Sl?E   rt!5Tl+v  
svnadmin create /var/svn/svnrepos 执行完之后生成conf、db、format、hooks、locks、readme.txt 这几个文件 9\Mesf1$o   R(r89bTQ  
5、进入conf目录 $;+B)#   cRT@Cu  
  authz文件是权限控制文件 |n=kYs   M*8Ef^-U`t  
  password是帐号密码文件 sj`9O-?49   ?8b?{`@V  
  svnserve.conf 是svn服务配置文件  S]1+tj   q%Obrk  
6、设置帐号密码 mxQS9y   [)# ,~L3  
  vi password s iv KXd   Mh[;E'C6  
  在[users]块中添加用户和密码,格式:帐号=密码,如 myname=123 FWdSpaas Q   5sFp+_``  
7、设置权限 z0HCmj9T   ggJn oL  
  vi authz bK("8T\?   jUI'F4.5x-  
在末尾添加如下代码: #joU}Rj|   e6QUe.S  
[/] 9))%tYN   &JtK<g  
myname=rw &6MGPh7T   @FdtM<X  
意思是版本库的根目录刚才的用户名myname对其有读写权限。 ^$_ifkkLz   DE^{8YX,  
8、修改svnserve.conf文件 ^=D77    jS   (.m0hN!~u  
  vi svnserve.conf =}r&>|rrJ   68+ 9^  
  打开这几个注释: _QBd3B%   ^6Hfq^ejt  
  anon-access = read B{/Pv0y   +/-#yfn!TR  
  auth-access = write -j]r\EVKS   x =5k74  
  password-db = passwd 5HL JkOV5   4nXS}bWf  
  authz-db=authz L|6clGp   37T<LU  
  realm=/var/svn/svnrepos 这个修改成刚才创建的版本库 F!`.y7hY@   %'%ej^s-R  
9、启动svn版本库 *xU^e`P   L#M9!  
  svnserve -d -r /var/svn/svnrepos tJ.LPgfZ   uqXvN'Jr  
Y: KB"H   /3L1Un*  
.m/Lon E   (w-z~#<  
10、利用svn的post-commit将svn服务器的文件同步到固定的目录 Lvv`_   uv/I`[@HK8  
  cd /var/svn/svnrepos/hooks ?_W "=WpC   Jj8z~3XnJ  
  cp post-commit.tmpl post-commit RURO0`^   i"r&CS)sT  
  chmod a+x post-commit ?8!    4!P%n   w\:-lXw  
  编辑post-commit钩子脚本 %r6~5_A   m`}! dBi  
  vi post-commit 修改里面的如下内容 wXXv0OzK   wbyY?tH  
  export LANG=zh_CN.UTF-8 Qh/yPOSm:   *[wy- fu  
  SVN=/usr/bin/svn 这个是安装好的时候查看成功与否看到的那个目录 q'+XTal   e>#*$4tg  
  WEB=/home/myweb这个就是你每次完成提交svn自动提交到的那个目录 9eGM6qW\_   | Z0?  
  ${SVN} update ${WEB} --username myname( 你刚才设置的用户名 ) --password 123( 你刚才设置的密码) vCbqZdy?   qb]n{b2  
  需要说明一下的就是你需要切换到/home/web (你指定svn自动提交的那个目录)下面手动进行一次checkout: svn co svn://localhost(会在刚才的/home/web生成一个localhost文件夹) mkj`z   'u@ )F`  
  用ftp工具到/home/myweb/localhost 下面把里面的.svn放到你的/home/myweb里面这样以后只要从客户端提交代码就会自动同步到你的指定的目录了。 og.dYs7W4   q?nXhUD  
整个过程就是这样,可能有很多没有表达清楚。如果有不正确的地方还请指正,不明白的地方也可以问我。 <B$Lu4b@c   SsIy;l  
4=F~^Xc`   +\fr3@Yc  
Kj}hb)HU   >8"oO[U5>  
客户端的操作这里就不说了自己百度一下就可以了。
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 9 - 9 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)