cncml手绘网
标题:
centos7 安装svn
[打印本页]
作者:
admin
时间:
2021-11-29 10:59
标题:
centos7 安装svn
一丶 SVN简介
2 A( Z1 Z: ?/ i |9 ^. ?1 g
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
5 J) @5 h& n. g v5 a
1.准备工作
6 g% \, P$ ?; n: }/ B# @% U6 J
一台centos7 服务器 一台 客户端
" n0 I5 [- @& M3 ~, I7 n
————————————————
% z. Z* g- b9 n
1、验证是否安装了SVN
6 |* f2 G L5 T m( m3 ]4 J8 h6 `$ i
: o7 d/ m0 i! O0 p( E( c# l* d
命令: # rpm -qa subversion
; M/ A" s' @5 p
& ]/ N+ H# n) I3 h7 k
如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
; T! ~- W# d4 w' _& {- j
- Z5 a2 r9 ^- [- Q( _9 N' l
否则,空白
, O- R' N; ], q
% q$ X. r- T7 B6 o7 |
2、安装SVN的命令
, @ o0 O/ V( G. g$ j' _3 k
( t3 M$ `# o+ P) P) x
# yum -y install subversion
* J c% R: X' C; X4 _0 E
m0 p7 \8 X' D
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
. r% |9 H. q6 A9 Z' @ D) a" R
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
1 L: g l- X) v* h
9 B8 |6 N; E% a i* y$ D1 I, n0 `
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
4 b5 P7 a4 {' q
/ z Z) B t2 ^+ L9 b7 s& Z, Z
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
6 G ?% B K6 M _* _2 Z
. H- r* }" {; a; {8 r
& N& C& f* u! L: Z' K
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
' X0 \# G. p* ?; X/ c% m$ d
# B2 _( e9 ]( X4 g
# password-db = passwd
- v# Y$ O& m/ M, x
6 I9 H# A2 N* b4 r
# authz-db = authz
+ \. s. \1 o: C5 h
, q2 t8 H' M8 {7 {* i$ I: i
r% x& X- q: ^. |* ^
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
8 y0 p% P7 }+ E3 h- _
( Y8 e: ~' |$ ?2 T: L- }* j
登录名=密码
/ H+ ^0 f* m- ^ @2 |0 g
5 C c" X4 g4 C3 @. y
user=123456
6 A" X3 ^* ?1 ^' V0 d0 r
5 m. _% T4 C5 t( X
1 d+ q4 o( C* u
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
& `& c- Y5 f! f4 [* w
1 ?) S3 U4 Z5 A+ Q
# * = r
# j. E9 `5 @8 r& T& ?5 W% o
5 K; g" X' T+ I7 \) y
[/]
9 Q5 Z9 [% Y: d2 R0 j! Y
# P. h$ e) D2 R' y* T: R
root=rw
! g0 o4 Z( n) I, Z& P
0 O/ a4 D/ D& E0 h
这是用户的配置就完成了
) z9 F2 f, M! M' n! f) `( e
( W" k, ^) N' W# \% g- _7 T1 ~. X
接下来我们就需要开启svn svnserve -d -r /home/svn/blog
! J# X4 J; r' w9 i# X6 Y0 j; b1 H3 |
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
& v; t0 m7 I1 K" j- H+ r# j" W) {
. I( C: b. H4 y: z3 c
使用此命令开启svn 根据自己设置的目录自行更改
, Y, t: q. O9 L. c: Z$ D, B9 I, u
9 R0 F. N& j6 B+ a
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
( b1 U8 d. {9 T" y
6 }) ^: x" V$ e0 l% \
, a* F' l- m$ @2 C% B& ~
win下载svn工具
2 Z, M% X' i' f
7 g* [* f+ l" N. o! [. L7 O8 l
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接
https://tortoisesvn.net/downloads.html
打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
- r( Z$ \* @' h3 w1 a- b7 J I" c
% h' `/ f+ L& c/ B5 e1 [
; T/ M; U) n0 f1 k) P. n$ o& A
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
* V; u; _! ]! c8 j- G4 T" U( a
输入你的svn地址 地址请根据自己的设置自行更改
6 T' W W* [! u5 [1 b2 P; q
# G5 Y2 R( w- [& G
2 f, W* d7 y9 d3 X+ l
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
4 u* Y6 g( F5 B, T" m2 @+ F
7 d3 @& J$ {, Y; B
7 F1 @( [2 J& B2 Q+ g$ @; s
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
8 J$ y3 ]& a/ ]2 w" F
/ S) O" A& ]8 k5 i
9 }9 Z0 d' `" x4 `" v$ ]
8 `9 q& B/ Q- j( z& A
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
; a* [) t! m; _1 Y
) s' h7 _2 F3 T7 `) T# O
这时我们保存在版本库的代码就会被同步到网站根目录
7 j; F: U% W0 ]% _! g5 }) U0 [
; t- b! J$ x3 @( k
: a& F& k" i) p5 e' j3 A) @
( }, A# ?* {7 P
' U& B1 ~1 R- d! k" O* d% n
* G6 W/ K) ~) E9 ]) e$ C% E: _
作者:
admin
时间:
2021-12-2 19:04
配置同步web目录
; M" k9 q: n3 |% B6 f7 s) [+ ~1 ?
cp /data/svn/ssyleo/hooks/post-commit.tmpl /data/svn/ssyleo/hooks/post-commit
+ R! }1 v+ w9 N0 J& x
5 X3 u) l% M9 t* u: O# T
REPOS="$1"
7 Y( W/ C2 N& j# Q
REV="$2"
& Q2 x+ _2 G# D
TXN_NAME="$3"
- l e0 P0 J* n. W U x6 o
AUTHOR="$(svnlook author -r $REV $REPOS)"
6 C; s3 s3 d1 r3 p% N. @
MESSAGE="$(svnlook log $REPOS)"
; |3 R) M1 V ]5 w/ m
SVN_PATH=/usr/bin/svn
4 r% Y# k) ^2 e
WEB_PATH=/usr/share/nginx/html/ssyleo
' H. _) M1 U1 J: R) T$ x
mkdir -p /var/log/svnlog
+ s/ f4 f+ \' \$ [6 h3 F
touch /var/log/svnlog/ssyleo_update.log
) t' E% \% i, g" ~) Z
LOG_PATH=/var/log/svnlog/ssyleo_update.log
2 X' r% g3 U: x. B, e
echo "\n开始提交" `date '+%Y-%m-%d %H:%M:%S'` '######' >> $LOG_PATH
: S, H& V, T: W( M
echo $AUTHOR,$MESSAGE >> $LOG_PATH
6 k6 ~ M8 N; @1 i4 x
echo `whoami`,$REPOS,$REV,$TXN_NAME >> $LOG_PATH
; T; o" w8 P- z6 X% Y! U
$SVN_PATH update --username username --password password $WEB_PATH >> $LOG_PATH
复制代码
4 y) N; ^9 m& M- C* {, Y! y
0 c2 W- n4 T0 A) Q
#!/bin/sh
; C: \3 h7 f4 k' Z) H0 B7 T
#设定环境变量,如果没有设定可能会出现update报错
: ^8 y" V# a" f) J( f }" X
export LANG=zh_CN.UTF-8
' H6 |; [8 B. C) x
REPOS="$1"
4 L7 r5 q. t+ k8 n7 e* \" r
REV="$2"
* k/ v8 x) @/ }
SVN_PATH=/usr/bin/svn
3 L, V2 b2 [: U% N- |! r- G
WEB_PATH=/web/project
/ q$ J' |9 C+ n6 y5 y5 u& y
LOG_PATH=/tmp/svn_update.log
5 ?* E1 k* ~5 m; r
#/usr/bin/svn update --username user --password password $WEB_PATH --no-auth-cache
0 X6 M$ l/ k* ~% S
echo "nnn##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH
* z$ r" t* Y0 C, R+ t. X
echo `whoami`,$REPOS,$REV >> $LOG_PATH
/ M7 e5 n9 D8 E: w$ k5 J
$SVN_PATH update --username user --password password $WEB_PATH --no-auth-cache >> $LOG_PATH
5 f8 A9 H, b4 _6 E4 B% k
chown -R www:www $WEB_PATH
复制代码
; e$ a0 k G9 m; S* n) \
作者:
admin
时间:
2021-12-2 21:57
#!/bin/sh
- w) a8 [. _! L+ ~5 I
export LAND="zh_CN.UTF-8"
2 o) ~. w7 P; P( `" S4 T
REPOS="$1"
/ e- J7 F& O" c& ?
REV="$2"
+ H- S3 n" a" R( l" ?! Z; u
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
9 \ y: e8 n" f0 l8 P& u3 C
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
6 O2 V5 X3 e. ^" z c
5 w. H, `) ~4 V0 G y% O
#!/bin/sh
5 w9 k& J/ P+ E- v
export LAND="zh_CN.UTF-8"
. ~* B; u9 R- g& H0 P
REPOS="$1"
0 e0 n) `" P6 H# z
REV="$2"
" \2 g# O! Y/ U0 r2 r* u/ r% o/ h
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
( A" i& P- v- P( B6 ?0 S
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
复制代码
9 L% K; q5 E4 t1 x) ^! ]: b
7 c( [6 Y+ g: [, K; b6 S+ _- r
欢迎光临 cncml手绘网 (http://bbs.cncml.com/)
Powered by Discuz! X3.2