管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介4 o4 _3 C6 y @
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
8 F8 ?* Z# v7 Y1.准备工作! W1 V1 I$ I" A5 _0 l$ _
一台centos7 服务器 一台 客户端
5 @: Y8 m- a6 I" b————————————————; T- D6 E: Y6 b0 q4 \( i7 |% u3 ?
1、验证是否安装了SVN- g' d' e, C; S; T4 P# b) C! x
& D6 _" U( w5 N" e5 I [
命令: # rpm -qa subversion
% m# f: r4 O5 b9 F+ e6 Z
7 Y; I) Y/ C) q: r# y6 m6 q i如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64! _- ^% `/ X y+ G7 f
3 g% B! X, ^, r" u( c' C否则,空白- m. \0 c# {( C" u8 ~" x% i _
+ X5 k j$ }9 n/ H2、安装SVN的命令% u; l" S: z: ^* H6 i1 m
- N! S9 a' B1 W: a4 Q' R# yum -y install subversion( ?9 q/ }3 a) f( }
) I# e% Q' J; ^! u5 N" G* E
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录: D; g4 ~7 ]$ A
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
+ C$ H2 {, s" h" u! ~) R I/ m1 L* @* s. g( o; W7 H& G
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置( p. a& C* ~! ^% F* [
/ |. A5 L+ Z$ y! x9 ^) w) d; K5 c
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
. y; m# C2 N/ o8 X4 B' Q6 Y& C8 ?' ~8 o! E3 S2 F! b+ d
; @* N( T8 I* K6 W0 A
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格$ a+ q1 l& |% R' p" `
1 i& L( E* q( I" W8 d B$ J
# password-db = passwd, S" j( \ W. `; R" S+ t$ o
4 j k$ J8 x6 E+ x$ H$ U+ |
# authz-db = authz
; u+ p" X' ?4 y4 X+ U
8 U+ J* ^3 W4 T; V) N3 J4 `4 D$ h1 s( M# f/ I4 R9 h
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效* G+ z( L0 K' Z
+ z. H" A; u3 J- ?$ q- \
登录名=密码
' m( P& o4 l: R- i! l L
4 N* I; A6 A8 b+ E; Zuser=123456
0 J% W' k( K5 _7 P& c& q. S0 w: S7 P: q0 C
( d: h8 w1 A$ t# E, H6 v" f
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
9 z- Y. i0 H( }$ A% z7 o
$ R: @! w: u( h6 h+ {& v0 O# * = r
0 R) T% a* {( N& C4 B: A1 A1 d
G' s/ X5 }# g& e[/]
8 g% W- h+ @: |( v" U/ ^
7 U9 I3 n- C Q# |9 [root=rw
% x+ |- q! Z# x5 @% f' e2 W1 |
7 [& ]) U3 s) t0 d这是用户的配置就完成了) I/ f+ X7 d* t) l7 }# I
% _7 p' X. c( s接下来我们就需要开启svn svnserve -d -r /home/svn/blog ! G- b* y2 o1 X1 j( O2 N! d
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
, Z# o9 L5 ^% Q G; H, r' b9 x- |% K" u, `& y5 l, M* u
使用此命令开启svn 根据自己设置的目录自行更改+ e! j: v8 b& z- h. x4 d, ]
( h8 c2 b: X" S) _9 d2 X$ g使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
z2 I" W. q: G1 a
, ^! m+ U3 T6 c5 D: Z% D! K+ c/ R, a9 ?8 r+ w# p9 ?1 `) s
win下载svn工具8 K- |4 ^7 G& {" k3 k" T0 k" F9 s
* H* y, K. F8 W2 Q& F
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了% c& V" Z. E& H* A4 S
8 f$ J. a6 t* E0 o6 w: R
, [! R, f4 Y, L0 g) R0 f, Q& r重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码0 m* v- V8 r) N9 v( @' r( S
输入你的svn地址 地址请根据自己的设置自行更改- E& j- e$ W& `$ @/ @
' H! C, o/ p& l, \- a
1 x8 H2 o( {1 ?& ~) I7 K! i
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
/ X; ^9 \1 t8 Z7 q/ N# I [$ K
$ y l. \4 H4 d7 X) C6 a7 E5 o$ k1 M) [, r8 p! m3 T
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码) D+ U7 i9 _' C$ [
6 ~; l4 L& L8 i4 x
" {: j* ]6 W6 p: n5 v
$ ~9 o" W% |4 Y. D$ H, G' X可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
# I4 p% z. t) o* ^! g8 ~* ~" [
* z7 g) ~/ T0 j& M1 O; \& q这时我们保存在版本库的代码就会被同步到网站根目录' _6 q* l" |- G7 F
, W; \3 W8 [* Y5 a$ r* {$ p! Y6 \6 t9 O* Z0 d2 \' u
1 J- H. Y$ N1 m" o& y. v% a+ X
6 M v& [4 H# ^% l# i
9 I3 g; w( W5 j- b( X$ o |
|