管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介7 z6 n5 Y j* m* N) t
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)4 P3 I7 t- ^1 V5 @
1.准备工作
1 J7 c3 K0 s: A6 H& w一台centos7 服务器 一台 客户端: ]& s6 Y6 ?2 I7 I% E( z
————————————————4 s$ @0 G, C: G& d
1、验证是否安装了SVN+ d: o, ^5 w( N
5 ^+ t" `" @- O命令: # rpm -qa subversion
1 P9 y7 b$ k P* e9 D! i7 V
f% `4 H7 U4 p如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64( }& S* @* j$ x3 r7 f$ H! L& L
5 b& X V6 @* d# |& V( \; ?6 G' P否则,空白; _: @1 A! e, @' R
7 p6 `* i2 Z2 O) X z! k6 u1 Y
2、安装SVN的命令
# Z% A" y) W2 b+ A" I( z: b t* h) [1 ~: s* ]0 a3 B
# yum -y install subversion
% U, k' [( Z @4 ]1 T9 ]' U I7 f' t9 U! g" }, Q
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
( G- [7 }3 R% r创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
: r! a5 k9 ]3 _4 q' G9 q8 r+ u2 k$ z+ a( a
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
. ?6 v8 H) ]- m2 F3 B4 G
$ {6 u# q/ x/ V4 _- Ksvnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)* g" w% c0 z( H5 k* ^
% Z( O& Y$ \6 g; f$ c* _& G' L- @$ E) f$ P0 ?
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
' G+ W- v3 D: ?: q/ P L
& M# P0 f' U1 x# password-db = passwd
- ]* v7 o' u$ C! q
9 t6 G% P8 J6 o9 C. @# authz-db = authz3 {$ P2 ~$ x- E; F" l0 ]
* K+ S* |% B" X, L
/ V( d- Q7 G9 b; l- V然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效. g) j2 _1 T# G7 |& b
! y6 O2 V D+ j+ p: d登录名=密码0 _4 j$ X S7 j& |6 x
3 y( O' }# W2 fuser=123456
- ~/ r5 I7 K. h5 a5 x, C/ M+ w# f8 W& s( `. X
$ `" y5 }8 g- X7 k1 P6 ^$ A
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
! a# K# z* C. C/ y* }2 D+ B
8 k* ]4 Z) }! N& |2 W; ?5 }# * = r( X8 j3 S0 M8 f6 \( R" g- F
' {$ W- T! ?7 n4 D0 m0 y" Z$ n[/]
7 ^9 w* ]' G5 I: J) O5 \+ m
0 Y* x ]9 A, n- t, y) y! l7 f2 [) broot=rw
: `2 B0 `! ^1 C
+ n z$ [; ~* `( j5 L. X1 G. L这是用户的配置就完成了 j8 u" j& S$ _9 V
2 u% c+ f* l& o5 T2 F/ `( a+ K* Y
接下来我们就需要开启svn svnserve -d -r /home/svn/blog ' `& `7 b5 K6 c- L W. l
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo! T: B6 _- v4 J4 T3 y. F3 v
1 Q' g3 j2 w4 V3 O7 y* i, s使用此命令开启svn 根据自己设置的目录自行更改
. b! J2 U, O9 a4 }3 l1 A/ h" J( q' a: v5 T6 W& K. ^
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
9 E, U2 y1 t9 k1 g$ c- |" F# H9 `9 U P
6 U: ]& K# w, k" V( s8 @5 P7 m
win下载svn工具2 Y) L4 ^3 n4 T' [. U6 i
# p- g% Y8 T# @6 F) J接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
9 @. H; `3 g4 v
- N3 K& D9 m% m9 _: S1 v6 F) d/ n9 g$ {
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
' H8 k \% J6 M7 y8 W( X: t输入你的svn地址 地址请根据自己的设置自行更改" K$ Z( y& `6 s
0 `5 O* i# y/ F: s& z6 X
- F0 _# @, J5 ^, c) R) c然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了2 {" C7 k. l' h2 b/ U
0 @* l6 d% ?' g; N7 l
0 w, e& {# y1 F* R, O) @
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
Q: j/ m! R0 }# F% [) R" U& `, U/ G, j% r! |, A
' Q+ D- B- _; e7 P1 K2 @( O6 T+ {
0 _ ]$ m, W5 W7 y- s$ @+ J
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
3 o- K( k/ z$ I- V1 Q+ ^7 }* i7 O9 G
这时我们保存在版本库的代码就会被同步到网站根目录
7 S8 B8 N& x+ I! D5 I: A: p0 K4 P3 |
1 S! n, u: e$ l' |0 U
+ G: j) k4 H' ~" t) q( N' _1 z* r5 t% Y
' h5 ]) T3 L& g2 j
|
|