管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一丶 SVN简介4 W* R. @& u: b# a B; G' y$ S9 Q C
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)/ a/ q+ p+ Y8 b2 k2 G2 \
1.准备工作
; F j4 t5 \0 H& ?) E一台centos7 服务器 一台 客户端" w0 y0 c, h/ S* D+ u, }0 K* B
————————————————
, r0 @: T8 F4 u% W7 U: H3 W1、验证是否安装了SVN. q z G+ y0 G* Q( p: s$ D
4 H* @( X5 g$ v9 N: Q
命令: # rpm -qa subversion; |% N. b8 H1 H4 ^% i }7 H
% f) r# v" i8 [5 P: n# o如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
! o1 E/ Y! q5 I i2 D8 E: h
8 a9 Y' } b5 W7 G% e否则,空白
; g- N( o% H) w5 {+ |- b
3 l, @, U5 z) k! w9 j8 L5 g; N0 ~! K2、安装SVN的命令! [+ B* ?0 ?1 Z2 B7 H* ]' Z( ^. J
3 g" X) z& P- s7 p3 ?9 `7 x+ c1 Z# yum -y install subversion: Z0 z! t; Q- }' ?2 {" }2 a
2 L& ?* B" G1 T接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
% E. q# Y1 `8 ] p" a创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
; F0 E- Y* k. {8 B5 O" {% E4 O3 K0 G+ M1 d; X, J
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
+ o4 U5 C, P4 v2 A, Y, F( t# o
; L, o" V l" k6 l& ysvnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
, _8 P+ I2 W' K/ R' H0 h% m
/ s, P/ P8 X- V! m( I( O7 ?( J* d; r$ t7 k
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格; @; V% z9 n* t" K( A4 R
4 c( n, k2 f- `; k# a# m$ r# password-db = passwd
7 `( B/ r5 `* D
; U+ u: y8 C" M, L m* q1 _# authz-db = authz
' b9 F' g. K, a3 p" p0 J3 Z V/ z+ G" P. A, N6 \" Z
/ s8 W/ N0 N$ ^& t8 |* z然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
0 _9 H/ D5 w! a1 [! ?. J$ v: F/ V) E8 a/ U/ a' n4 y
登录名=密码
5 ^6 V! i4 [! Y, O9 V1 |
" y! @5 P! {+ K# U" x+ luser=123456$ y+ `5 y2 W+ M9 x2 P2 ^
; Z0 x, t t% }4 ~( s* }5 v/ g
8 T5 f [% m, B4 k
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)3 J& u5 V7 h6 L% p
( L& o/ D4 E5 ~& H+ K# * = r
8 \, N% ^0 u7 w7 i7 X+ Y' w+ J% t# I( w9 r: `
[/]
$ r& r y# b$ ?$ g& F
( j! S. c" g$ W, R0 t1 jroot=rw$ w4 `( U5 B. Q) c$ _* A% l4 N
4 Y- d! `. B0 B" M# l& f& Y- b这是用户的配置就完成了& n# Y' Q" Y& c# u/ o; R
5 M9 j. _# u4 F+ W. p" b! I
接下来我们就需要开启svn svnserve -d -r /home/svn/blog
. K$ S3 Y( V" k0 J1 S6 s, }svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
% K9 \( C5 q5 _! N
7 K" O) K8 {# C* M3 l2 H! O使用此命令开启svn 根据自己设置的目录自行更改& f3 _1 B" J, M5 L+ w
( @. N. P. E9 c% w8 _! l9 _
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
" B8 z5 M) j' g9 ?8 C
' w1 ]+ l0 Z1 I) s5 P1 ?3 j3 K r2 G3 \& C
win下载svn工具
0 W: x0 w6 B) r$ K; ~4 c" s% r8 P. E2 c( L
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接https://tortoisesvn.net/downloads.html 打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
& y/ [+ P d+ k8 g2 a" a& t/ q w/ J
7 y# G7 c3 ^0 {9 _重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码/ E5 S. G( |5 C0 x( O7 R
输入你的svn地址 地址请根据自己的设置自行更改
& |+ K% B9 G2 c# q. A% S. C0 I7 p s
( f9 \, a- T/ b j. j( ` E: |1 D然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了( M3 B* u* @% p8 Y! Z
6 `8 T7 D R2 ?/ i
. I1 r! W1 @# U- ~6 |2 p7 `/ |- B(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
# t$ D9 E% q' N6 p% r6 m+ P/ P& J: G' N: \
$ ]2 k5 l$ I; b, S( L+ B9 N) U
$ ?8 [$ N' z0 r1 Q可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
3 [+ P; d; `: T. Y) q; p. i9 ~, y" o/ i# }1 w8 S3 d
这时我们保存在版本库的代码就会被同步到网站根目录' f4 S. H& N4 c+ y( D! J
$ }5 D# S$ ^( e2 W( P) }
* G( O3 i) W( [! T) e% [7 l" M& b% U+ ^) G. ~9 @
' p0 T6 M$ x- @; ?5 U- B8 T$ {7 Y6 B
7 i4 b; D- X# Q! P0 w+ K/ k
|
|