cncml手绘网
标题:
centos7 安装svn
[打印本页]
作者:
admin
时间:
2021-11-29 10:59
标题:
centos7 安装svn
一丶 SVN简介
3 h( I- f: p) D: F9 O1 U/ l, T
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
' Y* r% ]- Q" ^: u
1.准备工作
9 n) ~6 U) c2 W) h; K, u
一台centos7 服务器 一台 客户端
! j7 n6 Z; E" A* e. r% i8 _& s
————————————————
$ I: u# u E7 k
1、验证是否安装了SVN
# k4 N, K" e# Y" t
* f. x4 ^) t2 D' @$ I8 n
命令: # rpm -qa subversion
+ j& W F8 n- W
. Y0 Q" D1 U# v! I9 G
如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
+ t6 S$ E% l; I' z
9 d, R; \( I, q
否则,空白
0 j6 y) y8 z, d$ k
/ h- ~$ i7 F. ]; @! n" |9 j
2、安装SVN的命令
" s9 @$ f' F! x9 Q7 ]$ y4 k
2 A0 I$ w( u- `
# yum -y install subversion
) C7 b a8 k+ ~) w
5 f8 k, `: X" H: J7 L. Q
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
( _, ?0 h1 _; O3 X; K. [7 w" `
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
+ [* p% [: b& R# ^
9 Q0 _4 w* \" s& u" T) t4 C" H
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
/ d. N4 P( U7 r; o+ @, I
. [! B7 B: b* J, I; H0 F0 [
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
4 C/ W8 P: Z7 x, ?7 g J
, L# J3 B% [) t& }( k3 t* j
" Y" E1 L/ R+ }/ g8 M: u# |
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
& i7 r7 i8 u( G0 q& D2 R
* @6 I0 G- O! @6 F% ` _" D o
# password-db = passwd
+ z! ~$ K. E3 [
/ L& R5 \; z. V4 r) ` P0 J: Y5 Q8 D
# authz-db = authz
1 u. l9 ?5 a r3 d9 b2 D3 j
! j: g& |" g1 l/ o7 N
; x# T' t" o6 y/ K
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
+ S# Q) R8 ], O3 b5 M
X3 G' F$ f% R) q
登录名=密码
1 `4 j2 @& T0 N' w% u# _5 r
0 d1 f& U/ {) v5 R, H
user=123456
0 k) {2 Q5 J& W9 X1 N- q' N
" ~# D w) c2 m; M- B4 r3 k) F
( A4 e( B" Q% d8 O
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
; T h# B/ C! m! @0 v
+ K% O* x. D7 O) N
# * = r
* R: N" |/ T. S% h- @+ Q. z
% R+ p5 N* k& w7 H" |
[/]
/ X/ I% N Y% q$ B
8 j3 z# P" ]) w8 V
root=rw
8 I; ?" Q8 U: t$ z. u3 O3 w
8 f8 ?# d! h3 c. I7 y6 F' T
这是用户的配置就完成了
- i7 ?0 h) Z; G- p
1 b1 ]2 A1 {+ q2 S0 j
接下来我们就需要开启svn svnserve -d -r /home/svn/blog
$ z6 N" p5 a1 j8 u! Q
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
( z$ V/ Z8 _- S$ Z* f, x2 [
3 k% V) e# _0 C# ~4 H- Y5 r" d. r6 h
使用此命令开启svn 根据自己设置的目录自行更改
2 k6 X- _/ g2 z% U
0 y- l" t M) B* W" b
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
$ o& a8 K3 X Y3 Q* ?
* p& j/ G% R/ Y$ @! `
% m* @$ [2 Z3 l' P0 C, d( F0 D! J
win下载svn工具
Y5 c- V/ G" f" p; E/ @& C
0 f+ Z$ w4 V- k7 ]
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接
https://tortoisesvn.net/downloads.html
打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
, _) s A8 v0 C
5 M, N2 o/ f2 M0 y
# w, N, B4 f* b
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
; p9 d4 A+ C8 S I: g4 I3 m8 }3 k9 ]# o
输入你的svn地址 地址请根据自己的设置自行更改
% B4 l* m8 @3 v* U' }" q
H2 b9 z8 [& ~! I3 n4 ]
( j/ Q1 k+ @0 T" e
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
; Y }: E: @4 w$ ?
+ @9 t1 _( q; `) d' N
) o& t/ G; ?9 \' @5 \4 P( L
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
* ]5 L3 P3 R6 R. O# q
- ]- ?6 s6 t0 p B! f5 O9 i
6 d/ \% t; b' w
: q! d% T0 ]9 x0 H1 `+ Y, a
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
; s0 D1 J% b7 Z
! W0 v' X% O3 {1 v# Z' E: E2 ~, Q
这时我们保存在版本库的代码就会被同步到网站根目录
2 z- {/ ?* d& a3 _* x" _/ Z* ]
9 Q9 ~' J0 o4 ]3 [* V) }+ O
3 F8 o* a# M4 c* ~& o
- u1 v! R) M. Z1 P: p6 ^
% w+ h9 K7 ]6 x5 l" t; F8 J
; y9 u( v+ O( t1 f' K
作者:
admin
时间:
2021-12-2 19:04
配置同步web目录
+ G5 ]$ s! ]* ^9 P5 z
cp /data/svn/ssyleo/hooks/post-commit.tmpl /data/svn/ssyleo/hooks/post-commit
9 y$ k! Z+ L- v6 j( j# [# \2 B
. C3 O6 r# V$ m8 f+ g
REPOS="$1"
+ A" b) _9 W, U+ F9 M- b# M
REV="$2"
1 w& ^% g* G+ Q1 Y( N! I; K. ]" ~
TXN_NAME="$3"
& X/ k. k- H0 E* q) {) v8 D" G. P
AUTHOR="$(svnlook author -r $REV $REPOS)"
* J* w! @# d D$ v8 I7 [
MESSAGE="$(svnlook log $REPOS)"
$ b0 y3 O& \+ p h1 x7 X4 }! E9 [
SVN_PATH=/usr/bin/svn
0 @' d& K4 P# Y$ }3 d8 C o. [
WEB_PATH=/usr/share/nginx/html/ssyleo
' n1 Q5 a1 c8 D4 }/ J* ]& P/ w+ c
mkdir -p /var/log/svnlog
5 Q' Y, \" l& m/ ]! E, X# r. p' R
touch /var/log/svnlog/ssyleo_update.log
9 i. m7 c3 D% H. w
LOG_PATH=/var/log/svnlog/ssyleo_update.log
% ?# s9 j7 H6 Q: R5 M5 ~, q) D
echo "\n开始提交" `date '+%Y-%m-%d %H:%M:%S'` '######' >> $LOG_PATH
1 q4 `0 y7 Z5 y# ?. C1 P
echo $AUTHOR,$MESSAGE >> $LOG_PATH
I# [( }# N/ K3 w, N' N$ B
echo `whoami`,$REPOS,$REV,$TXN_NAME >> $LOG_PATH
: a- Z2 `# o q9 \2 K
$SVN_PATH update --username username --password password $WEB_PATH >> $LOG_PATH
复制代码
& K2 `" b7 F2 i. a2 d
, K% C: c* P( O `9 U
#!/bin/sh
S7 A) m! g- j& f
#设定环境变量,如果没有设定可能会出现update报错
D* m7 p# V4 N- j( g. F
export LANG=zh_CN.UTF-8
$ f+ u" y0 f' {. c- K% W
REPOS="$1"
7 U0 y9 l: X1 ?- j$ b2 V+ c) j
REV="$2"
% W2 A3 n1 S* E# I
SVN_PATH=/usr/bin/svn
) ?7 y6 s+ x" a7 @
WEB_PATH=/web/project
1 s; C7 j( C7 N
LOG_PATH=/tmp/svn_update.log
% H; \. H1 F" m$ }3 O
#/usr/bin/svn update --username user --password password $WEB_PATH --no-auth-cache
9 {4 ]. _$ g0 s9 f9 N7 H
echo "nnn##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH
8 h% i5 X" V+ Q$ `$ d* v& h
echo `whoami`,$REPOS,$REV >> $LOG_PATH
1 @. @1 n' j5 ~
$SVN_PATH update --username user --password password $WEB_PATH --no-auth-cache >> $LOG_PATH
|: S2 h' a+ x
chown -R www:www $WEB_PATH
复制代码
+ s+ f) _4 R, q8 G M+ B" s9 u
作者:
admin
时间:
2021-12-2 21:57
#!/bin/sh
7 x a8 ~% Y! G+ |. e$ C( n
export LAND="zh_CN.UTF-8"
3 [: n8 ~' j+ ^4 Q+ ` _
REPOS="$1"
' N/ @: ?/ L0 N# H$ P0 l9 j$ Y3 {
REV="$2"
A1 \" J& O! F" Z! O# I3 {
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
; C+ O5 U( X; W6 W
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
+ b, L* I5 N6 Z4 z5 m
& K- ? J8 l I- U# u0 Y" H6 c
#!/bin/sh
4 u3 [% C( Y0 v7 I. E ]1 H
export LAND="zh_CN.UTF-8"
2 l* ]8 q ?* G; i5 t
REPOS="$1"
& \% k% D1 v3 n" ]* _! _
REV="$2"
( G0 B& M& |0 d, E
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
i% c0 w5 d! d0 F: @
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
复制代码
% L/ } f/ c9 t8 Q
+ X. F8 B3 v" m
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2