cncml手绘网
标题:
centos7 安装svn
[打印本页]
作者:
admin
时间:
2021-11-29 10:59
标题:
centos7 安装svn
一丶 SVN简介
& ?( f: h% D E" E8 L
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
4 Z7 ]0 F/ p3 M0 m* c1 {! `
1.准备工作
7 o5 N2 g, i6 P6 M# E1 c3 M
一台centos7 服务器 一台 客户端
7 w6 L1 G Z0 C$ \& n, d
————————————————
! w9 }' ?" N; B1 Z& i
1、验证是否安装了SVN
. @& b- Y, o: D' C" j: h- a
, x1 e6 R" w2 u. Q
命令: # rpm -qa subversion
5 l8 P& q9 f9 ~& I* _
+ _$ A s& k! N
如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
3 s1 o3 h4 ~$ i+ t4 K2 I
% q2 ^7 }; b! z2 I4 P# X! h
否则,空白
1 K+ a! ?0 W1 p+ m& [* F; Z
7 s' V% I5 `; q: D+ q" T9 @
2、安装SVN的命令
% o# }/ ^" M% i7 r0 p+ h. Q
1 w1 {5 R2 k* j4 U9 l$ g) s6 I
# yum -y install subversion
& r* z$ B$ p* j
5 w% I7 j# x% e* e: F) Z u& m% i1 B
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
6 ?7 I% F/ ^: S+ a( O6 D. P
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
5 ~, h- Y5 J( y( S
8 ~4 T+ ~6 b( B
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
: @$ x8 j; ~0 S; G
; ]8 [1 _% I( t9 R& J0 |% o
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
* X; ~0 [ X# K7 p
+ P* `$ A/ }) ]! s$ i0 n
; V+ Z8 \5 p8 j' x3 C/ j; Y
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
' [$ n' X! q4 a. v2 {
0 \0 X( f( O+ O. e0 T$ f! t8 v
# password-db = passwd
+ N( \, {9 b0 `* A K
% ]* H$ u, B8 j& _0 d" M
# authz-db = authz
* M- w: s( H. ?, C U0 d& n2 N; O
7 B0 f. M0 i( E# Y
@5 u1 N, @% U' C% g Q
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
: P4 s* H5 F6 z+ S$ N
! H: N+ H7 e, o7 a# [# ]! M* L- v
登录名=密码
. j# H/ [9 I8 ~4 N+ l* X, r
6 M) z* j) V& E1 c9 r* ~
user=123456
4 e% |! b+ ?$ v( B! [9 [ t
) ?8 N9 V& ^# P# O* e$ ?; \
6 t* U" n2 q& U7 T; H
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
0 a* J/ Y2 m l7 n6 z
5 W$ w. l: ]* v4 h8 o( L
# * = r
4 P. K% F J7 L% E' b9 A0 ?& e+ N! j
4 \* h) I. O% h6 @- b/ `2 y
[/]
2 Q$ G3 p! E; K1 l; e' M
1 y# h. j- y/ p- a# X( K4 g' w0 y
root=rw
) [' K4 |: M5 A* K& ^
2 s$ P* F5 ^4 g: ^9 X
这是用户的配置就完成了
0 P' v: m. {8 _8 b3 G& A
/ _" x2 w _5 L5 _6 H5 e3 o# t9 h9 V
接下来我们就需要开启svn svnserve -d -r /home/svn/blog
! }1 X# F+ v4 x" U& A+ r
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
. a- b: }0 F. X2 }2 B `% y* _, T
( O: w" d$ t* a5 M: y
使用此命令开启svn 根据自己设置的目录自行更改
1 g: w; i; D7 A9 ^% ?9 p' J
# |4 k1 W% t0 H8 S/ h% `
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
3 m- b y$ }4 ^0 G' m9 l
# p1 p$ d* n7 Y/ e
+ |) T. |. B% {/ @: S
win下载svn工具
; R5 |: g$ K3 W9 l: t
9 ]6 S6 `2 U1 N/ |+ ]# b7 p, P
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接
https://tortoisesvn.net/downloads.html
打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
& w8 n+ ]0 H3 C* i2 T$ t7 Y6 w
7 ^" ^7 t1 D7 j
+ Y/ r$ A u- u. C3 Z& k' s
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
. d- G: V& W: t& s8 W, m: H# L
输入你的svn地址 地址请根据自己的设置自行更改
8 i; L6 i9 ^5 \
- N3 d( v* I: n: q
5 z; @$ G: C- h2 @+ {5 |8 q
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
) Y4 X' Q! y' R, K
7 ] y* w9 A. r
& c$ `% y, R. ]$ Q6 r
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
! w3 a' u! K8 C5 Q: \& ^9 N( K3 ?' E
$ ]6 V0 h% O/ x0 c& k
- J- w N8 r* e
/ ]' ^0 h O9 ^& V5 D
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
; s# ~# t; S% D( ~, \$ W
- t9 p$ o* _$ O: ` D1 ^' P; J
这时我们保存在版本库的代码就会被同步到网站根目录
% l, [1 ~$ v P( \, Z8 P& W
7 j8 k6 J( y% x- H
9 d5 I+ ]1 }8 T5 j8 N( F* [; m
5 s+ J( [, n2 J! f7 w, } T
. E) _ a' k1 g$ Y' G0 t
3 y/ A3 j3 K4 b r' X' ~2 H
作者:
admin
时间:
2021-12-2 19:04
配置同步web目录
+ H1 F4 a3 W+ Q% `; s, w
cp /data/svn/ssyleo/hooks/post-commit.tmpl /data/svn/ssyleo/hooks/post-commit
/ {* G; N3 G& j+ F% M, H4 D0 l
+ ~4 O! i. v* [6 m8 U7 K8 D' g
REPOS="$1"
/ j3 U, {% t G1 a: g" k' @
REV="$2"
; c; v7 F* _- |8 D1 k( U
TXN_NAME="$3"
0 B* w! r% L* I
AUTHOR="$(svnlook author -r $REV $REPOS)"
) _, W* \- ^/ {
MESSAGE="$(svnlook log $REPOS)"
9 ~! n0 x* L2 l/ I, M* N' w
SVN_PATH=/usr/bin/svn
. R$ V5 s' ^$ H8 u6 ~3 h
WEB_PATH=/usr/share/nginx/html/ssyleo
c* L1 F% _& x( O, P
mkdir -p /var/log/svnlog
; p# Y. I) R2 p d$ A* t* t
touch /var/log/svnlog/ssyleo_update.log
' K9 ?: A: x0 V2 `3 V& ?
LOG_PATH=/var/log/svnlog/ssyleo_update.log
, Z2 {8 [" z' w4 e% U1 K
echo "\n开始提交" `date '+%Y-%m-%d %H:%M:%S'` '######' >> $LOG_PATH
, s8 g. y k6 a& ^
echo $AUTHOR,$MESSAGE >> $LOG_PATH
% e- w U6 m+ [" D3 d5 X
echo `whoami`,$REPOS,$REV,$TXN_NAME >> $LOG_PATH
2 w x% M( t4 \ e
$SVN_PATH update --username username --password password $WEB_PATH >> $LOG_PATH
复制代码
: d5 T# g- a8 A0 v+ r
2 C1 \4 N3 D8 F4 G( w
#!/bin/sh
* m& i: V4 U* { ^4 f
#设定环境变量,如果没有设定可能会出现update报错
: R# ~( @' L- L8 |0 @
export LANG=zh_CN.UTF-8
2 F1 I/ a9 I$ V' a
REPOS="$1"
+ S" r A8 \, T) K6 w& p
REV="$2"
9 {3 ~0 `" Y4 F2 l+ d# u- u. A6 {
SVN_PATH=/usr/bin/svn
# `: ^' C5 Y0 }: ^# D* i
WEB_PATH=/web/project
9 ]0 V# n! J, _- N9 S8 t. Y
LOG_PATH=/tmp/svn_update.log
1 E) y) L% s+ x2 H. j! P+ k" Y8 h0 t' E
#/usr/bin/svn update --username user --password password $WEB_PATH --no-auth-cache
" K( X/ ] M* l2 F
echo "nnn##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH
0 t! p( L) v% {3 E! N8 L) t
echo `whoami`,$REPOS,$REV >> $LOG_PATH
! A/ j D0 M: f2 G1 F I1 i* t6 L
$SVN_PATH update --username user --password password $WEB_PATH --no-auth-cache >> $LOG_PATH
/ g, ?& m; h9 _% w6 L3 a
chown -R www:www $WEB_PATH
复制代码
2 L: M0 x( p) E, R
作者:
admin
时间:
2021-12-2 21:57
#!/bin/sh
9 x1 \7 S- \1 T$ ]6 v4 q0 C; Q+ b' l
export LAND="zh_CN.UTF-8"
9 t b7 a- H W4 W3 S. T
REPOS="$1"
$ s" D1 Q! E- i J, v
REV="$2"
* L" H+ S" U% a0 a5 U
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
) w, p8 r. y# Z( ?" V
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
6 X" K/ g) O% [( ? y
7 J j7 ~/ K" H+ B
#!/bin/sh
! ]7 z/ F6 V, |* R
export LAND="zh_CN.UTF-8"
5 L# Y* y& ?" S0 p, n2 x
REPOS="$1"
6 v' e7 _$ Z5 Z3 d
REV="$2"
9 A3 k% b; f/ A4 ]
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
+ t" }! r0 V, i( e& t5 n
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
复制代码
2 {/ f0 e6 W) r2 y# b9 p; V6 Z
# P% l0 R0 _* \4 G
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2