管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介
8 w1 M. @$ u0 j: A3 V# KSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
* ~7 g' {; {$ Y; J9 G/ d3 X1.准备工作
, a9 ?+ d& M. u一台centos7 服务器 一台 客户端
% L; ~8 a9 Q8 b6 }————————————————# T: o7 h4 S1 E7 V) ?: R# S
1、验证是否安装了SVN
. K/ x8 f" l4 j; h( ?) e1 }' _* C5 C! B) p1 m$ t3 o: B: l
命令: # rpm -qa subversion; Z' U& c/ g8 a; q9 G3 {
1 v: Q/ k% m/ `& x2 f: A4 B+ `如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_643 ~+ A. s. z8 x/ `
7 \/ |4 [: g9 m: B' R
否则,空白9 p' K |2 E$ N7 w3 V' u& x$ d
8 H1 r! T! H" q1 c! W$ _! J) s
2、安装SVN的命令
( E- B4 @+ `$ g/ U+ R% ~: z0 r p, a3 |/ c% X
# yum -y install subversion) N7 V1 e$ f% `$ t+ i+ {) I
k# x" H8 i! S1 n- }" \, W
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录0 L; M; }) V; G* V, A) U& s0 |
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了2 E: s+ g0 H* P: Q
! a% S! l+ D( V- U; i然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置: ]/ Q! M$ M# A/ `$ v
2 M# K* @9 e+ f" S9 @6 F$ F) c
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)) @1 ]2 b% S! Q+ ] f
: d- Z/ i; \0 J" `0 L+ Y5 ?' f# [$ s$ ~& F2 W( m
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
! A# \, H& j) y, z; J6 } J4 m! W9 T, Y1 g
# password-db = passwd3 k5 q0 ]% J7 d: C2 S7 h7 \ g; S
) h; @% ~; L. o: c# authz-db = authz$ n3 Q6 \! Y5 H1 Q! y# a
2 q2 ]4 C+ y6 F
7 T3 e4 O1 ?* u) g然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
# V0 O- R+ G- H
% J. v3 j4 M9 C4 F1 H登录名=密码
$ H* {: _& L9 t
% C! @& S8 \) s0 B7 euser=123456
9 F; s& |3 J+ G: r. R# t5 o. o4 N2 U6 a/ ]. E! `& f
( r- ~" B9 B' {1 u8 x& k6 {最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
: x& c0 E- c* `# ~6 N) n3 c# I4 `7 X1 b6 C6 h( ~' ]: v
# * = r" D: V/ b( H& [6 `. |
' a( q4 u. y# }. P3 ]& k
[/]
: a7 U/ n0 Q/ I1 \$ U- q
- Q+ {2 o; k% P; Proot=rw
( D" `) A) F6 e
4 t5 T& _0 H9 F7 u) l1 ~3 @8 R这是用户的配置就完成了
5 |3 f2 O0 a* v4 G4 V+ G9 a# X
1 Y' X+ K# U! }' G接下来我们就需要开启svn svnserve -d -r /home/svn/blog 3 K( j: | f& _/ b5 Z$ S$ |. k2 V
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo0 Y. {/ g) E8 i5 }
7 N! E. w0 o" ~, q使用此命令开启svn 根据自己设置的目录自行更改
, H8 |/ Y8 Q0 W. w1 Z
5 S& B5 T# r# l5 U6 S9 L) j" b5 v$ e使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了5 R; R. f b' R2 t& Y
3 A3 K% O+ V/ z3 f% ^$ f7 D+ j! p6 Q; E3 r: O
win下载svn工具
& ~1 f* ?% P+ @7 b( m+ {
8 E0 C/ U4 y a3 E O1 G/ a接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
2 ]7 B0 N y8 l9 e; U" f) K, L. Q
6 Q T& H! y- A+ u" O" Z重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
3 t' U9 w+ i. O8 n, D/ y输入你的svn地址 地址请根据自己的设置自行更改+ A+ d+ l; K1 [& G0 n t6 a
) \& z$ l; Q2 M, D- {' h% s* y7 Q0 A2 r
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了+ N: g( I& ]2 Y3 J0 O
T) }/ n# Q, z+ m3 S% v& |: c
% a" x8 q$ @" s$ P+ P* X) P% B1 v
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码): ]' L( P$ M. p; D% \6 y' F) S, R6 R
) x; F, k/ f# S T, S
# a' I$ D* ]: m/ q4 {) S
* ~) z$ x5 d8 |- f& n
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
" R. V5 a8 M `& A; n* z5 j% q
, z; @" a. U: ?" p& V1 S这时我们保存在版本库的代码就会被同步到网站根目录
' T8 E/ S( P* ?' P) r) v9 U' c' U6 u
# m$ m+ c" I, U) ~
" d5 P. E' Z0 q3 l; j6 _. I! t7 `
7 B- j5 I, p! |' A9 y9 a% S& E; ]8 U
8 U7 g# Q6 B/ |" {; L! E |
|