管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介( `* H3 i \ N
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
. j" Y& t' m, _% w' G1.准备工作3 R, I* g" v' [2 q c" Y$ [. b. o6 P
一台centos7 服务器 一台 客户端
1 \, t9 D, ?' O3 p* t1 `3 U) Z3 V————————————————; V2 @% X9 \- w
1、验证是否安装了SVN. p. B7 _1 x* ~
: a0 @ } w @/ \: P命令: # rpm -qa subversion5 u9 y* ~ I+ k {- G# l: m) w
* \8 P- h; H+ I如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
$ B1 }' h3 f% m# F
! p8 j- q. t8 |; l2 {6 }- j否则,空白- t' W `( ]5 D" H4 J
1 n% R( \: N M3 a* `
2、安装SVN的命令 c% o" l+ G+ H* u2 N. s! G" ^, O
+ i8 Z! A: n1 F7 ~
# yum -y install subversion
# f0 @6 I8 B X7 `3 M5 ]. r6 A: f. {' \% {
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
$ c& t6 p( O: g! S3 ]. D: Q创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了) r2 [' Z& M1 N. D5 g
+ t/ w- S8 a$ E8 h% V+ j
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
" ^2 i6 D, G: _! t
, p, e2 D6 F" ]" msvnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
5 o% p' ?4 {& P$ W- e4 k* ]
/ B) j s3 c3 _, v+ i$ Z3 \+ ?& K
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格* j4 r C* ^2 X' M- d; c, \
7 C% U0 _; W& `- Q
# password-db = passwd/ p: }, C$ G: n+ d
4 ^ y& z6 g0 C1 j# authz-db = authz' R5 F! b8 u2 a" x6 e( X' O( a
. y3 F* L* P1 M* {3 Q* r0 A9 X6 D' y& I4 T" v+ h
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效+ X( q y2 f4 e8 \
; [/ s% q8 K! f
登录名=密码 N: T9 w8 I) X |0 K$ c4 C- Y
# d$ H; G0 H5 }' ?$ `& p! [% L' @7 }% N
user=1234566 w2 y) R X+ Y4 {2 O5 C' v
# ]# o. h! T1 b6 `7 l N1 Q
$ |! `9 [7 |& H9 X最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限). T" o" t+ N* r
+ F3 \ ^- X9 D$ T
# * = r8 f6 V1 x8 a( x$ m1 m4 q# x7 U, q
E' M; u: ^7 A% G, S0 t, s[/]
( H! x2 e4 i0 U8 V: s' T6 Q. I8 @1 [0 e+ _0 d( d& A4 Y" W
root=rw- t3 ]5 w _5 h
' u+ y e8 M0 ~3 b2 M: ^. C这是用户的配置就完成了
G1 j5 |6 ?8 B% n
% c- ?) K+ t9 D/ l& b. ?接下来我们就需要开启svn svnserve -d -r /home/svn/blog 5 n g! w2 N4 R8 B" I2 P
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo: }- R- n- ^' H+ f0 m& B5 [6 M. p
- K+ U4 l: Z% |. q! j6 S
使用此命令开启svn 根据自己设置的目录自行更改
8 r4 O& ~: m$ V: o
4 {: u* Q" Y0 \" s8 C6 p, A. t使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了' S+ o- r& e$ I' |6 @
9 O8 N* A& H& ]
7 e& r% q) l5 Z4 qwin下载svn工具
( y% U$ k1 J6 K0 G0 r& _
+ s% N! r/ j+ g接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
: u/ X) r" X0 J. B- {3 C6 N% S
+ z* d3 G h5 j; H: N. q- g- B- m0 I/ |! m6 t6 u g
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
3 ?& S1 a x. {输入你的svn地址 地址请根据自己的设置自行更改
: U# @" A0 V: D' L ^
5 a7 U. v. ?" f
5 M( O9 ?' G# \) z/ B. `然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了$ h# Q3 L1 A3 g+ b X
6 l' s- k9 E9 [" t
0 A( n$ t5 o$ {/ Z" q, [(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
6 Z( s3 O2 }0 k! x2 a" n8 b9 I+ {; w) Q5 Y( }, i" s
6 I/ C+ s% F- L, g0 S2 D
( F& m9 w; A7 y" o) g
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
" w) b; L0 S, Y- D L* v. ~ Y4 X7 S2 j* J$ g2 B- O
这时我们保存在版本库的代码就会被同步到网站根目录
5 i/ x2 q, l2 s+ {& G' d* n+ V4 H8 O
6 d" p# v2 ^# l h }6 P5 `) @1 K6 C( S8 p2 k2 O* A+ I$ c
$ V! e( [ ?) |5 t8 y E
- v) U( G$ z n
|
|