管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介
$ W( l$ G/ G3 i& X6 |SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略). o. y2 y6 u% n7 g2 n! F. t4 G( a
1.准备工作( q1 f: A7 z6 U) V2 Z
一台centos7 服务器 一台 客户端
?0 `8 n, y+ b1 U0 F" ~# t$ D————————————————8 k! U, ?4 `9 U/ l1 Y( R
1、验证是否安装了SVN
+ w8 a; O* C1 |. c9 F& `6 s& l5 Z3 B+ U0 b& n& q
命令: # rpm -qa subversion% f) B5 j# N+ X1 N' g" ? T
5 a8 V' [6 e) t1 |
如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64& a1 p7 T) l. K0 T* Y2 d" q G
4 n3 J' J0 u& i% t
否则,空白
5 w+ h/ E/ m- s: B1 Y- W+ }5 ^
5 `/ m3 X. V4 c X2、安装SVN的命令8 h0 g8 o9 I' U8 d
) h$ r ?' U) A% F! H) g# yum -y install subversion& w# e/ g" D4 K$ }2 Z
9 A; W9 p" W) L: O2 H8 |接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
3 ^, B( _5 G5 n# d" P9 J2 d+ T创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了5 h. l! a7 c& L7 i
0 |+ J9 S p$ r- r6 x+ I _
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置( \- A$ |% o9 {8 j
* A. J3 s+ c, n" F. K9 ssvnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
+ _5 r0 C. b3 u
$ I% Y8 |7 M" m6 `: E/ g2 B( M2 F" d4 l7 @5 c. [- _
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格0 [6 I, ]' v% d; C8 [% o& }, `
5 o) N6 V/ S* O. \0 T
# password-db = passwd
0 W0 t: @8 C) A3 [
* J# i9 L9 N" @* x# V, I" Y! z# authz-db = authz1 ?+ g( E% z# E6 L& M) ?
' a$ z6 Z5 M: X9 A* T4 P8 n( M! | ~* A1 Y* Z7 z* R, x+ b$ j: v
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效& C* G" {% E. q- r
5 [* v( r3 H" z' |" |) O. X
登录名=密码' Y" |, {: U" O5 b& F! v* J
; r/ n2 o0 q8 c8 @9 I/ g$ I6 l
user=123456
8 }# [' a" ]9 B6 p) N) r( H8 i7 d7 d, S2 h" H. ]/ t
% e, f( x2 r" c6 O! j) y- b( ?4 J最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
1 I O. {+ h3 D1 w# M/ e o$ a5 x
& b2 W- ]" u( e3 f% I# * = r
[8 k. z5 X* e d/ Z9 U7 E" P' W/ e6 k
[/]
0 G5 o1 M( O- P2 W! C$ k& |
8 w! Z0 l T$ E) `8 R' @4 zroot=rw+ ~5 ~/ F1 y$ I0 g3 y2 r
4 i* v) g- P8 ~
这是用户的配置就完成了/ B" ~1 o- J, y' Q3 D( z! x
# d3 z* u3 X8 e8 |1 E. [接下来我们就需要开启svn svnserve -d -r /home/svn/blog . H- E5 c+ k$ c7 x/ ?
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
5 U+ O6 S: W' s+ I9 F; @
. O- x4 i+ @# l6 b, m使用此命令开启svn 根据自己设置的目录自行更改
) M5 `- I- U( \ z. |: j9 r7 j' C* a/ L& U9 d8 l3 P: M0 r; K
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了" @9 v0 R E, c9 B
' a' _$ p( O9 Q8 H, e, \ f
, Z: T; {# ^! G
win下载svn工具
' s) D+ ]6 C) w' u, S
: ], h3 _/ c- E3 d+ [接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
* p v9 X. m) a& P R* x# X1 J: h& F( T& b% ~: @: Y; u
, J$ w/ n! @0 C: K9 ~* s重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
+ r3 R3 [) x" q" z+ I输入你的svn地址 地址请根据自己的设置自行更改
e3 T. |$ G- R' s
1 @) u2 X7 J- O2 F+ Q4 h, U, F
4 a+ j1 V% y8 t6 L: c# f然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了4 U+ P7 y+ N9 m
- j3 F0 Y. F; z! J1 E; H' `5 B( @( R, r! t' Y
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
+ i+ g S" @# @, W+ x) i2 y7 z/ c; v, D6 I4 p
* q, L- z% T9 B$ \# W6 Y( h& L- u% ~
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存' [2 I. N8 t; O% o: ~) O ~
% H, [/ [$ t# s6 ~
这时我们保存在版本库的代码就会被同步到网站根目录9 L/ I) \% ]& q' E' \. F0 Z4 C
l" \/ b- d! G1 D+ z& S) A. C
+ d1 u& ^2 @. e+ O1 s1 c1 M% E
9 d+ e! Q4 S- N& C1 s7 S
0 `% k( x/ _! h$ C' M) U. ?, D) D! G5 e' E( |3 S- t/ G
|
|