管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介
2 P; a0 P+ M- \7 aSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
6 K6 Z! D2 r1 }# F$ O4 d B. N- A1.准备工作: ^) G6 Z/ _1 b5 |
一台centos7 服务器 一台 客户端
$ q4 u5 ^- U' E' p————————————————
& G6 h. y( Q, \0 B1、验证是否安装了SVN
' z- d' q( N2 x
8 C/ u/ o" I3 V& y) i3 k命令: # rpm -qa subversion: N2 U" o z% ~( R W' ?1 M1 s
9 ~1 L- s% Q( }' \. ?, M如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
. X8 {) E" Y5 J& t5 q& A0 _) q3 x5 L
否则,空白- F8 X- D" ~" N' S, L. H" z
9 z3 ] G6 @6 r/ `% O8 R. p! _3 p; [
2、安装SVN的命令
3 m) e9 t5 q" d! v1 K- {9 E4 S' D; w9 }, e) O& e
# yum -y install subversion
6 k; D) U7 X# E+ E& M$ R; \
- X; Q( L. a: G- f5 b接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
* a3 l5 O* C, l' y# C# w创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
3 B* @8 E# k+ W2 S. X
0 k7 Z+ r" `2 ^2 d' B, ^然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置! H+ ]9 v, M, t0 {0 L" e% j: i; ~
; _9 r5 `! C0 e; B V/ X2 h& G
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
: I6 O, @5 }6 G: \& z/ w3 [4 Q6 @. E7 X' ~. _- m
3 T6 e. Y) r% j/ ^/ c6 P1 ?8 j! P首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格' Q4 U4 G; q* e4 C+ ~
+ N6 E: I- K1 i" f# password-db = passwd2 e. a3 A( V( ]/ w+ r/ a9 V/ M+ K
( G9 o K# j, ^. T7 ]# m* ^2 }. V3 P# authz-db = authz
# @% W6 I! Q$ Q; x: A. k" }+ ^6 X* }/ V
! }9 Z! k7 ^$ H( C) V然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效+ Q; ]! b7 s( t' ]1 o' X
* o+ E+ P+ X; d. \# b/ a& O+ C" Z( x
登录名=密码: n8 i! }5 x7 c! S
1 F1 {5 o0 Z$ C- a7 {; P0 M' `
user=123456, C$ q$ J, ]! `/ o
6 r% z: r+ y- Q' v4 v4 ^
8 I1 }9 [+ [+ x% J0 v9 s9 g. F: n! @最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
, V# j1 v* _6 \& a4 l' Z% x+ c
, B" G( y4 Q; |3 P8 k# * = r/ f2 a2 I, a$ ?* p
$ x; S5 t, h1 s# ^7 G; q& V' H[/]
2 {- P) d" p& o# v# F( v7 P
8 L' E- J+ G2 m9 X: Eroot=rw
# @0 W* v4 {' L/ R
7 h5 i4 J" e5 u, O, Y1 S% t这是用户的配置就完成了
5 k6 ?/ {) ^$ @8 U) O' O
4 L3 Z f' u5 c' n+ m5 q接下来我们就需要开启svn svnserve -d -r /home/svn/blog
) k2 G V- d C1 T" U1 J1 F$ ysvnserve -d --listen-prot 端口 -r /data/svn/ssyleo
' z" s, n. C Z9 f( V4 r2 {, M0 ~/ m4 a( E* W4 W, n3 H' x* c9 I4 A
使用此命令开启svn 根据自己设置的目录自行更改
3 P' o3 R) g. N/ x7 P" D% |' Z- H7 Y& e7 n
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
8 ]: S) i7 o9 g% ?( q$ R% b' L* c& I" f" c; _: U$ f7 W0 S
3 `# P8 B8 }- n; `win下载svn工具
5 ?" S. Q+ }; Q. A+ K' o1 \& ?7 s
# i! w. G6 S$ ?- o1 T接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
: H: J- `6 v! H5 n& c( z! [* P
; q" m: W- N* ^" [6 ]6 z5 h' Y/ m- m; C
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
6 A3 \; ]. w- Q. O' S0 E; ?6 v输入你的svn地址 地址请根据自己的设置自行更改0 l1 a$ u2 x1 m+ b% v2 Z" n
$ s U% |- F" C* D" B# v* Q
3 b: v( ]) y5 K T9 p+ ?+ i然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
+ E$ A: l( g: j; g6 R* S
9 E: H+ I# Y2 Y5 A: o$ K' n$ M6 `; }3 V( I: Z
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
2 j D! v0 W# t
) K2 p% `" Y ~8 T; N0 ]! c9 Z# y5 p3 l0 C0 Y3 `; R& C
( O5 l; P: W2 w' K+ F
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存6 n' w$ T% i4 i/ G; f( _
! n5 I' i2 p( p4 W1 `) ]2 f
这时我们保存在版本库的代码就会被同步到网站根目录5 g6 p- w' [0 W8 @* M2 L
; R- W5 O! q! |% q6 }
3 L! F2 x8 [& c7 r {, V- ^8 W; a
4 J; g: N: G# l# ?! i
7 |" [, p5 m- I* `& L o f |
|