管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介
# G5 Y2 K3 F# \& OSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)2 [7 K! n3 {" M" j- S
1.准备工作
# ?# N( A) r1 A4 t一台centos7 服务器 一台 客户端& s; o" r n# b. }, B) ^3 x
————————————————
% O7 ?3 @& T5 Z* C f- ]+ I6 p4 A1、验证是否安装了SVN
$ ^, \' Y8 y1 X! p# V; s3 G$ V) d8 ^7 q* E; a
命令: # rpm -qa subversion; [) x( G+ L# W& [% q
3 K3 G, J- \) N1 K z/ d如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64# z* Z: D; q1 S1 ?" G; s
2 t. L8 _4 h2 Q, c G否则,空白
7 L# V% f' |( N3 E
. D) L* b; ^) i9 K5 e2、安装SVN的命令) r+ e- k) b8 ?5 u: }
6 D5 k8 R- B: Z i# yum -y install subversion; H3 m9 i& P; m* H( o, m
6 ] a0 S! | ^2 l: q3 H; ?! J/ W J" O: H接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录8 E* R- x5 ], V0 |- D
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
?6 p. M! E- \+ m& l4 Y. S
/ u: M9 l: v! ?$ Y. I, _; a然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
0 Q7 O' B) f- b4 \. S0 R6 I5 x: M
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)! n+ _ p* g9 v L+ T& j
) E" ]6 y2 B- e) r/ w- d
- M6 L8 E, f7 J7 w- o
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
6 [# g) k; ~) L. W' _$ ]7 }0 w c0 r# y8 ]. @0 x7 p
# password-db = passwd. S& R/ g3 }5 d3 z" D( q
( ?' u) k! }3 B ?$ M, x, s
# authz-db = authz
3 T3 r5 B- o/ e8 W1 C
4 |. m$ c% U; W- g2 }" ~
" ]3 P7 A1 u5 ^+ k0 n. D3 A a+ G/ }然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效, P! ]( s4 t }+ P+ b) k+ y
" B4 |/ a3 M1 a3 K# F& V
登录名=密码0 A( f) U. X7 r d+ x. a$ a
+ u7 T" K) h X9 ]* K
user=123456
$ ?( B7 j& |) x( w9 Z& t3 g
" H8 W( k0 P" C* |" v' P9 q1 U: U: u; \! k- N* ?5 \9 @& M
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)1 g" }- B$ f, B, w% N0 r8 i
+ b7 X7 B) e$ o# |6 b0 y6 _/ c# * = r2 M' T0 @5 f9 U: X
% N- _3 F' H& B3 Y" ]! \[/]
/ [" n; A2 r' i: G `' @0 t' B2 M
root=rw6 X5 F0 A8 j, j% C
/ j1 R% W4 I) ]6 X1 | ?
这是用户的配置就完成了/ j6 ~4 g8 s/ L7 V: ?
' ^" c' J! g3 o- w" G2 F+ W' ]( @
接下来我们就需要开启svn svnserve -d -r /home/svn/blog
0 b) c* L# I* k2 Xsvnserve -d --listen-prot 端口 -r /data/svn/ssyleo9 L# U; _% r" N" @
- n0 H% P$ b! a0 ~3 l T2 E1 e* }
使用此命令开启svn 根据自己设置的目录自行更改
' G0 `. w' ~9 @! x
4 k- {) B2 w8 I* t使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了, Q- d* k+ A' c6 B! y
7 `/ z( T4 y6 ~4 y. b, D
$ r* k, H6 I) m$ a3 hwin下载svn工具 C9 n% P( u" d2 u: ` b
! s, Y% S+ X: s, e- p: @$ `
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
* v& l! H/ } D) t9 ]6 \/ i1 E6 n/ s
7 X% v8 T$ T& ]) s9 ?; c9 u: W! f) i# R' M' t/ t+ p3 x
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
a$ K# Q9 V: D v6 L7 ?8 m; j输入你的svn地址 地址请根据自己的设置自行更改5 N; y+ h; d2 v( S# q
* f; U$ Z* l' u, g+ x9 q( b
3 y' B6 G9 v% J4 _2 _: b7 R
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
& [ a$ Y$ o- ~* T" h. _+ t8 X
7 q3 |: `0 ?5 m/ ?4 g! ~
( k3 G- Q, G8 ?(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
/ H9 g* b; ?! ?' K# C4 Y, J0 V4 F2 L! k
3 {7 _5 o; v/ R' ~ j
' e& `7 k* w! {, p' [) V U
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
' [9 W2 c; _6 }! g4 S- O+ K: L9 ^( G9 W6 n
这时我们保存在版本库的代码就会被同步到网站根目录
7 J# e4 G( C5 m6 z" {3 X% [1 f' w* c! U8 e
* I3 y) u5 }2 u; T' r! T1 B- s# E* o' u8 S# Q
! J6 A: I( B/ ?& G: `/ L+ w& X2 z# n- E
|
|