cncml手绘网
标题:
centos7 安装svn
[打印本页]
作者:
admin
时间:
2021-11-29 10:59
标题:
centos7 安装svn
一丶 SVN简介
0 z8 L2 [. ]! _! E
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
- C% m) B8 {; R( N, l1 g
1.准备工作
) B% T# {2 y7 H, w9 j
一台centos7 服务器 一台 客户端
0 {7 [) J5 z7 b/ f+ l6 g, b
————————————————
3 Y: [) n$ K3 c' d1 |
1、验证是否安装了SVN
- |, ` b9 ] ^ h* h* y
( e7 R ~, n3 V W% n
命令: # rpm -qa subversion
2 ^8 j9 v. d4 p3 b
8 O+ j% [2 ?. M% x
如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
. w' V8 X5 r" i) P3 H+ _1 A9 T4 I
6 u: J! o7 X7 }& R% i d
否则,空白
- Y# H1 ?9 G+ |8 S+ [& Q+ v
, l. s! Q4 u' C
2、安装SVN的命令
/ F, @$ I4 J5 }0 Q0 _$ m) v
" R+ S/ N1 x3 I5 D0 v+ o
# yum -y install subversion
9 ^" A* e: n# _# a) B* S
% z! F! Y$ @+ C( I6 d
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
1 R; t: {: ^! z7 x1 A, E
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
& h$ x. a" P+ r1 S q* I! c
, p+ t! q1 v3 f3 _
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
4 Z( f! T+ E- L
( S; x f5 E) {0 l4 f( T! ~
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
. _- M" b+ b/ H- f4 v! E
8 w2 F* P- _7 a& t) d
( V# ^9 S# B1 C
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
6 T9 A- @8 S3 k1 s1 v
# |4 o! m0 t& a/ Z/ G4 q- A6 e; P
# password-db = passwd
3 H, A4 Z$ t! d' V" V1 c e
% S( u" V/ k) Z2 E1 C
# authz-db = authz
& g' h5 B0 T% y0 `& {: J
$ Y$ U3 Q! m& Y1 p( S# O1 o
3 q( e; Y: Q# D* O/ a1 b7 a) w
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
% z) e# }; R1 Y; H4 |( J
, x- c3 F; X, Y [
登录名=密码
0 r% q, X' V6 y+ U/ W r
- C, t5 p- ]4 L! ]% H8 L L
user=123456
* l; a- M8 d7 C7 j) ]: \; n1 ~
2 q; R4 J) X8 q( A
: l! ^- I* [0 A9 J
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
3 A# x6 _/ b, a2 V$ l
9 r4 p5 n7 ~2 m: K* N, @0 c
# * = r
t- K0 `6 w1 \7 `; @+ _1 S& B6 U
5 [, |! X* h! z1 [8 K* S' p
[/]
2 J! Y4 _7 [( ]+ S3 ]! E0 n( |
4 h5 A2 {/ \) L7 H" }
root=rw
, S* O: a) B5 `. M8 y* W' r
# l8 r- K; ]2 D. H
这是用户的配置就完成了
- m* z! N- j4 d$ Z7 V, \
* w7 g) u) u- N; c, W' }1 z
接下来我们就需要开启svn svnserve -d -r /home/svn/blog
* y# y$ S. }! S* P$ u8 W0 b3 r9 ]
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
8 [ H4 e5 R7 n! B
& D# L! }3 g5 w; J. q* N" D
使用此命令开启svn 根据自己设置的目录自行更改
7 J: A, e" x# p! `
+ w/ K/ l) U0 N! U% m: `& w
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
" z- ^& i N( `% _5 w# b
8 d" |) t9 @( |* Y' B
4 f' E5 A8 i7 w* M
win下载svn工具
. d+ A( v( g S: q
. Y9 ^/ L# G; t
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接
https://tortoisesvn.net/downloads.html
打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
7 R! S, ^$ _$ ~" X
( D V2 ~7 ^, ^2 \% r
/ ~/ e2 B; G& L& J% P$ S
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
0 i |1 w3 h% _% W4 r
输入你的svn地址 地址请根据自己的设置自行更改
2 E5 p/ t8 R- i9 v3 p u! e8 ~
' k7 M5 r* a' z
" b Q/ u8 i5 }
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
, C2 P3 E# G3 Z) v( s7 m
2 I; u, l% [. Z3 `, _1 V
& k! k. V# r7 y0 C. @
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
7 x3 E' s9 c4 k+ ?, S5 X
5 H6 n, R. J0 d/ m! Q' z
# c+ U9 o& }6 h' I& D; a3 i
; d8 T" S* d* G: ?5 e
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
* ?. [+ z$ O' B2 l5 C) S
" J! E7 D P' H/ n7 m1 b$ P
这时我们保存在版本库的代码就会被同步到网站根目录
3 s. x3 [3 \* d& D2 y% Q5 I
3 k) V6 L1 @: V
& U' a7 G( u$ z
" H E2 f$ y5 O4 J2 \
5 \. Y- `1 s" g8 q
+ {' @; r- z6 V5 C8 @: d' K
作者:
admin
时间:
2021-12-2 19:04
配置同步web目录
/ {1 r! T j5 V1 u8 K, e
cp /data/svn/ssyleo/hooks/post-commit.tmpl /data/svn/ssyleo/hooks/post-commit
3 h" ]; L& L: Y- R# g
" S, u6 l; x5 k4 `. J. i, y
REPOS="$1"
# w. e/ g3 T. a0 _2 X
REV="$2"
0 p S: h' ]3 U4 Q% t
TXN_NAME="$3"
4 \- Y5 a, G3 i
AUTHOR="$(svnlook author -r $REV $REPOS)"
8 ~* Z) L6 R. P: f# b2 j! ]5 E
MESSAGE="$(svnlook log $REPOS)"
. c7 u. A, X9 \
SVN_PATH=/usr/bin/svn
4 Z+ D0 X3 k* i& H
WEB_PATH=/usr/share/nginx/html/ssyleo
2 u* ?6 ^& j" f9 l# v9 E
mkdir -p /var/log/svnlog
) ^" H) [/ s8 X5 v5 B$ N
touch /var/log/svnlog/ssyleo_update.log
0 ]9 ]. B \' y2 A8 q
LOG_PATH=/var/log/svnlog/ssyleo_update.log
/ B+ Z c r4 ?8 a3 Y* G
echo "\n开始提交" `date '+%Y-%m-%d %H:%M:%S'` '######' >> $LOG_PATH
* Q6 E( w* n% p- c' B: _4 R. r
echo $AUTHOR,$MESSAGE >> $LOG_PATH
0 B! N! r* j n8 p7 |+ ^) f
echo `whoami`,$REPOS,$REV,$TXN_NAME >> $LOG_PATH
, Y- [, D3 [4 V9 \# Q7 @
$SVN_PATH update --username username --password password $WEB_PATH >> $LOG_PATH
复制代码
4 @5 L3 O9 I/ @+ x& e8 @! Y
2 n# u7 K1 [ a! l* f8 q
#!/bin/sh
0 V: X" R8 q, i+ G# w3 }
#设定环境变量,如果没有设定可能会出现update报错
6 x! ?+ H+ w7 W* g" U$ D
export LANG=zh_CN.UTF-8
' M( Z. T( _! P: h) H
REPOS="$1"
i! \6 `" z$ Z' q
REV="$2"
' J( J! R; Z6 V3 r& \% I
SVN_PATH=/usr/bin/svn
$ ^' k# Y9 k m' G2 B7 p! V, `. ?
WEB_PATH=/web/project
; o$ O4 v5 ?/ P- z( `
LOG_PATH=/tmp/svn_update.log
8 j# @ N1 e7 Q" \! s
#/usr/bin/svn update --username user --password password $WEB_PATH --no-auth-cache
: d& _8 W8 @0 F7 S9 v0 \( ?
echo "nnn##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH
6 p* v7 I& z( K+ e$ B
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$ [# f" K+ t8 V! @. ]
$SVN_PATH update --username user --password password $WEB_PATH --no-auth-cache >> $LOG_PATH
1 w4 I+ J; h+ Q: ?$ m7 n$ X
chown -R www:www $WEB_PATH
复制代码
$ H% _3 l* k7 D c
作者:
admin
时间:
2021-12-2 21:57
#!/bin/sh
; X: A6 f& t& K" i$ I
export LAND="zh_CN.UTF-8"
/ d( K C4 A5 V+ |7 u$ }% ]
REPOS="$1"
- o1 o ^( {4 t' J+ I' U; T
REV="$2"
1 R/ a' ?7 [; `! E& [' i4 z8 [0 S
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
0 T) V: L3 a% _) W3 ~0 P- Q4 g
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
' } s8 N7 E- W$ n3 {3 l% M5 l
. j* H; `0 B; G: h* @2 N; W/ c; C
#!/bin/sh
3 {6 j9 _ e0 i, n
export LAND="zh_CN.UTF-8"
* c; M* ]; ^$ W6 A7 a( c+ r9 l
REPOS="$1"
4 f8 K. g( l+ A+ |
REV="$2"
& J. ^% z; G& V7 z: _
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
! M. F. ~- Q5 }4 ]2 C. j
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
复制代码
" l9 @ P! F( d7 s; k4 t- u
. N+ S1 U6 u: j+ C; P6 h1 D
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2