管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介
2 N, Q/ E/ g8 _" ]4 ~" J3 xSVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
8 Z" [. D- Y) [ X1.准备工作" ~) N+ B- J u. k* J7 E
一台centos7 服务器 一台 客户端+ j) W8 J9 k8 `3 z0 S
————————————————6 }5 p/ h& C" Z9 ~8 A p
1、验证是否安装了SVN7 t+ @ W' E3 I! B. Z
8 x& p. Y+ {9 r命令: # rpm -qa subversion
& N4 i" }- z$ C( ]; H( J( W# L B, Y* k* l1 T8 d" o) @
如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64% J' o, }6 E1 y
& N* u* G& C8 k+ ~4 N5 g否则,空白
3 K* E5 {" j' }' n
7 [2 c$ I; W5 W! V U2、安装SVN的命令
0 _0 E) ]$ h$ m' o4 |) Y8 C* y) J
# yum -y install subversion! Q% q; E% p' M
; d! ^- ~1 C8 b- B( t+ H接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录* Y: u e3 H' ]
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了# t' ]9 e) r4 R! @
1 W Y3 G8 X# P% e, ^3 Z- G
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
6 j0 W" @5 T y
) _1 {6 ^% H# u* Csvnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)/ H9 a1 w1 B) A, i3 d- F
8 l+ J0 a6 N, ^$ k! o
$ k: x+ |0 C& M' {首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格: u1 j6 O+ W8 o& g( h1 s7 u! `
3 P4 G% u6 |8 G/ F* Q% T( d# password-db = passwd
: R% |+ q2 `6 S; r! ]* {8 o, K U( O9 Q2 Q$ ^/ @, c
# authz-db = authz
N$ I% H; q3 F1 v, U1 o V3 u) p Q7 j5 y! F: k* h2 P; H) ]
4 h* G* C1 z, g- t然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效5 L6 V2 z2 `2 Y9 S5 }/ ~
+ ?0 w1 I3 c T3 H登录名=密码
' r7 _8 f9 p' f
6 p% \- ?: g; C# F" j# ouser=123456# W) I' D+ K6 v' [ K( L9 G
% l+ M' S/ f) {0 G8 X7 ^, N- }$ w1 ]8 @1 G
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限). D9 Q# Q* U9 q& o6 g( m
/ \1 U6 B, t" Z5 w d* k
# * = r" a/ D/ C+ W5 g9 W$ G t
4 Z1 X$ @: _. R$ o" f- |
[/]
) U8 E z# e& ]8 |5 c, v
$ s8 \" J/ ]6 @- D- Rroot=rw
$ a; V5 w0 c# h1 O6 Q5 ], T# z3 ~; @; e! w, K5 W# A
这是用户的配置就完成了: f* V( i$ {9 n9 y
0 [8 B$ k. V6 m- q8 ~' H8 ]$ r
接下来我们就需要开启svn svnserve -d -r /home/svn/blog 5 J% E0 B& f5 L
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo: v. h! a% U! m7 t4 T. N( y
5 [# ^7 D2 L% n8 D/ U3 @使用此命令开启svn 根据自己设置的目录自行更改
7 @9 S) d! A+ @$ V* Y* V' D0 Q
( [( f, m/ k$ |5 ]. m5 l使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
m( j7 M7 n6 L" f
" E9 V1 @! v9 g, F4 D- }
- C& F& R+ v8 S$ ^win下载svn工具
% `% l' H. b; o6 f" s X F) |6 Z& x
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了0 q1 w5 n6 ^9 G6 P3 ]4 u, a& h
! x, S; C d2 P7 n& {. s9 C- z$ [& T6 |" C; @
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
" v! S! ] ?, g4 a输入你的svn地址 地址请根据自己的设置自行更改" T% Y h2 v* q3 ^- M5 e/ K
9 t+ U1 m+ ~4 W; [$ g% a$ ]
" W! U& R& [* ]( h* F/ W' s
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了1 f9 u* R6 P. K* H
9 E5 z8 x6 R `) m
O% ]" H6 J: Y4 V(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
1 E, R, m }' ]- B Z/ D8 K# `7 Y, y3 h9 T
9 F% C0 R6 D( H2 _% e7 N
9 t+ T9 X2 H" U P
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
4 x+ w; w" X( p3 Y' d3 r( ?, h: H
这时我们保存在版本库的代码就会被同步到网站根目录8 }( ?3 i N0 m1 l
* ] f4 n9 w( ]$ n2 r% ^2 {4 h; W; v2 F! r* x
* B0 e3 h3 _+ F& p
8 U2 M6 d. c0 [4 X) Y, a0 V0 `
: K W F2 @, n, \ |
|