cncml手绘网
标题:
centos7 安装svn
[打印本页]
作者:
admin
时间:
2021-11-29 10:59
标题:
centos7 安装svn
一丶 SVN简介
% d% X& r, {+ u/ m* E8 W- f( |
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
) |9 _# E( f( W( V9 n
1.准备工作
$ g" f; [5 n9 J7 Z
一台centos7 服务器 一台 客户端
1 h* k7 G7 d$ Q/ V9 ]
————————————————
' s! Q2 R& i% x( i+ Q; s- l4 F: I2 a
1、验证是否安装了SVN
/ P$ @ T5 S: J3 I
! @ V. d- E+ q
命令: # rpm -qa subversion
3 h( Q9 T# u' ~: d
' I) w5 {, ]" L/ f7 k, r
如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
: k0 W. s3 X" P3 m) n, f
3 q6 m' n) q9 L6 }" {2 u
否则,空白
2 S7 O8 A% L- q- w! D9 N$ {
2 V4 ~0 I+ b1 J7 ^1 f
2、安装SVN的命令
$ {5 {7 s" v: y; F# L% V3 v
' F% |7 o- x/ [% j
# yum -y install subversion
% B6 k1 Q L* q9 W4 V$ y) I' i
% j1 K9 E) s/ i7 M
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
! a* z; @' z9 H. J ]+ m
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
; f9 E L: B& h- ]1 {3 w
* i9 R( Y9 z2 }
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
. z$ j# z) d/ n! l& H; s* Z' R
0 Q* ?% g+ }0 R$ [" V
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
2 G0 S# y. L( @$ F% V
1 G4 }* y: e/ ~$ V$ \ G7 @. B( V
1 K2 ]8 U' }" b+ j& H6 b
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
" \- `* O0 T9 @9 }
* Q7 |; X% t$ f* [9 y- e
# password-db = passwd
7 s% j8 Y- x+ {8 c/ v
8 F! G2 G( o) m
# authz-db = authz
0 F% M5 ]2 R/ r% q g4 ?. B
8 F. V0 k* _4 ]9 O! r
4 T! M, g6 k4 ~$ x6 x
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
. s' X) C: [) ] e/ ]0 Z
3 w; a% | K1 b4 h) I) L2 \
登录名=密码
. I6 [6 Q) h! N: i& z* z
8 G0 K- \0 ?$ Y% f2 s
user=123456
3 O/ X% d! R: b; J( q. p' T
' F: L M6 E( F; L
4 b X. e- A' r9 g, n& |% d) k
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
5 r0 p1 O c$ H, p. K! d* B
1 K+ n( F5 d2 Z; p& p) K
# * = r
7 X/ D( S' S; T
7 p y+ f7 v0 a% R6 _8 B
[/]
, X6 f+ w6 ^: W- B
1 [% `0 y+ {- X; U( R
root=rw
) d3 m! Y, Z7 ~
6 X5 t/ l {: }# F
这是用户的配置就完成了
) S! l# u1 Z6 \0 q
! ^. y0 {' K# B3 {& _# m
接下来我们就需要开启svn svnserve -d -r /home/svn/blog
- `* Q# s ~& \
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
$ P4 _* ?4 y& |1 A
3 ^( h+ w: p3 a) W! q) W5 B* ]
使用此命令开启svn 根据自己设置的目录自行更改
4 n1 Z, _) l( J5 e
/ e6 b) g& x. q
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
2 ]1 M$ F% N8 y
7 r; p9 g6 Z: y2 C& P
* t0 O8 X1 a! _
win下载svn工具
" }0 Y' U" V9 x. w# g6 ]
9 ]" R9 r: h8 g, R7 |; [
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接
https://tortoisesvn.net/downloads.html
打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
: H0 Q# |2 y5 n& o7 @' o& E
3 Z. `, n) v; B4 F& Q
% J; a) I0 M2 B1 s0 j6 `8 ]3 o
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
" U3 @; N1 M- a
输入你的svn地址 地址请根据自己的设置自行更改
6 V e9 l5 k# o& l
" |7 m d- m" I( B) G X7 ?( w
, B9 R: K' m% V- Y2 c, o
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
( d' k6 A/ A; _( X# ~* n' N. ^
: _. S n+ j! D* _
, C. k" B2 ]# m- T/ p
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
/ X6 ^* A' A. J" d
( ~4 N0 C$ a! {& H* J8 b! l9 [
F: c' r1 ^' p8 A* p5 n: a+ }/ D
7 |7 V0 |2 b/ O5 b
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
1 g3 B' x: n) ]# V% f5 H
5 k# a# P/ R( |# L7 C
这时我们保存在版本库的代码就会被同步到网站根目录
4 d; ^; I8 d: @" {/ q- r
% H( C0 s$ s9 L! T: i
: O4 U, h F+ N+ j# g2 U6 Q6 o/ F
! C" v, P( m9 k' E; d1 `
+ W' E2 L4 R2 [! a+ v) D
$ x( [& ?! F' h! \- B& Q
作者:
admin
时间:
2021-12-2 19:04
配置同步web目录
# l/ N* S0 ^' W
cp /data/svn/ssyleo/hooks/post-commit.tmpl /data/svn/ssyleo/hooks/post-commit
, |/ Z9 N$ @& s( C( X# H
3 F3 M. r" T% z$ S6 a/ X
REPOS="$1"
+ Q1 R, q& }1 w' f8 ^
REV="$2"
! @+ f7 Y. E: ]' H# a$ v# L- M: o
TXN_NAME="$3"
4 @8 r2 p! x; g1 L/ W+ ]; @
AUTHOR="$(svnlook author -r $REV $REPOS)"
' w+ F6 d( ~3 J6 f$ f
MESSAGE="$(svnlook log $REPOS)"
0 `% P& m' S0 ~, g
SVN_PATH=/usr/bin/svn
) @ e) c9 H' b X0 a& f
WEB_PATH=/usr/share/nginx/html/ssyleo
5 I e3 R. Q* `; l% z" F
mkdir -p /var/log/svnlog
" k6 p( i' M5 d' m5 X: V% B* a
touch /var/log/svnlog/ssyleo_update.log
C6 z' `9 K. w1 O
LOG_PATH=/var/log/svnlog/ssyleo_update.log
( [) N. _9 R9 e# C
echo "\n开始提交" `date '+%Y-%m-%d %H:%M:%S'` '######' >> $LOG_PATH
2 Y# `* t& `: V: y
echo $AUTHOR,$MESSAGE >> $LOG_PATH
! C% X9 r1 M+ _3 c1 M9 N* l
echo `whoami`,$REPOS,$REV,$TXN_NAME >> $LOG_PATH
' r* J) A/ U0 ?. u2 O! y' D
$SVN_PATH update --username username --password password $WEB_PATH >> $LOG_PATH
复制代码
G: _* H2 G4 Z' B- T
3 }1 ]7 ?4 d6 j8 m) _
#!/bin/sh
" C% G3 Z2 M3 a2 d8 P3 h
#设定环境变量,如果没有设定可能会出现update报错
" ~( Z- j! H% ?0 n8 s3 s
export LANG=zh_CN.UTF-8
- c- m% I/ f! n: } d. }* K
REPOS="$1"
/ [) z, ^& R, M4 t( l. g0 K
REV="$2"
5 K% l' }5 J; o1 k
SVN_PATH=/usr/bin/svn
# N* G$ E, X' P1 s) i$ G Y
WEB_PATH=/web/project
6 I7 b. H! ]# ] C
LOG_PATH=/tmp/svn_update.log
7 ^/ k0 x- a; s2 A
#/usr/bin/svn update --username user --password password $WEB_PATH --no-auth-cache
- k% Y/ G8 O2 l' G
echo "nnn##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH
Z3 S) {1 W: W8 c' H
echo `whoami`,$REPOS,$REV >> $LOG_PATH
/ z$ ]) B4 V/ A& ?
$SVN_PATH update --username user --password password $WEB_PATH --no-auth-cache >> $LOG_PATH
6 N/ G; w- ]1 a. D7 S
chown -R www:www $WEB_PATH
复制代码
6 t0 ?/ W# m, \+ [$ I) ]
作者:
admin
时间:
2021-12-2 21:57
#!/bin/sh
4 a8 l% p. X& f2 m1 g5 C
export LAND="zh_CN.UTF-8"
( ~8 F, h+ l' a) N# n; @- g$ v% }
REPOS="$1"
5 ~/ k6 p. P7 V7 k
REV="$2"
" l3 o* ^1 V/ ~' Y5 w- ~
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
8 h& ]( A8 @8 D5 }: _. r
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
+ C& ?+ ?9 E- s# w- G4 w$ _
$ m: Y) p- A( Y/ @7 {
#!/bin/sh
9 m" X: O- A0 R* \
export LAND="zh_CN.UTF-8"
" Q f1 |' T2 n `) y1 T
REPOS="$1"
/ l; r& h; Z) O7 D+ q7 e
REV="$2"
$ U9 [ ]) q3 i1 k" R; u1 }
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
) D2 X" q4 p* U# t1 C& n1 J
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
复制代码
; Q, V* w7 a' R* |. v
7 a% E: g* W/ @7 U" |4 M
欢迎光临 cncml手绘网 (http://bbs.cncml.com/)
Powered by Discuz! X3.2