cncml手绘网
标题:
centos7 安装svn
[打印本页]
作者:
admin
时间:
2021-11-29 10:59
标题:
centos7 安装svn
一丶 SVN简介
8 k3 H2 `- k8 g4 B% i( V- v
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。(ps:百度百科抄的 可忽略)
! j7 B* I5 {* O/ v8 l, ]3 d8 A
1.准备工作
: J. K, U& @. i
一台centos7 服务器 一台 客户端
! W/ p# H# N8 {
————————————————
, a" c1 v$ ?6 {5 }+ Q
1、验证是否安装了SVN
0 p4 }5 @+ o' C* @$ c
# y0 x2 M. w- h( |. a& ^
命令: # rpm -qa subversion
; Y+ Q$ N3 e* v4 f, I
( F2 K/ C" q- b
如果安装了,输出对应的版本:subversion-1.6.11-15.el6_7.x86_64
* _3 d1 ~& B9 G* v
7 d' F" r- v% ?2 u9 |
否则,空白
% F$ k; L0 |1 \
+ H) Y- F g7 H' a0 R
2、安装SVN的命令
( R S5 B" g7 n- M9 D
2 P% \3 h: [% H7 y6 e
# yum -y install subversion
3 H8 l" {( c9 j+ Q4 G, ?6 o
8 @+ m3 m+ Q$ ]; k$ y
接下来使用# svnadmin create /home/svn/blog //其中blog为你的站点目录 /home/svn/为目录
( z n5 y& n. U6 y) A: u) P
创建一个名为blog的svn版本库 ,进入blog目录 只要有以下目录就代表你的svn版本库搞好了
0 }+ b3 `! |- R4 p( k4 G
+ ~0 `! R, q1 ]! Z6 s7 l
然后我们进入‘blog’下的 conf目录 对svn进行配置,conf 下共有三个文件 authz 是对用户权限的配置 passwd是用户和密码的设置
! G1 N4 g3 a- I- S7 x; e$ _( [% n! {/ Y
+ a' I- W/ m s+ Z4 o% @' i
svnserve.conf是对使用的配置包括是否开启匿名上传 ,用户上传等(差不多就是那个意思)
0 Z- m( ?- D" f8 J+ T
9 s% H. {3 s S- K) ~. V y+ a/ V1 A
7 u5 ?( K9 `2 X1 `
首先我们对svnserve.conf 进行配置 把箭头处的两行 前的#去除 同时要注意前面不能要留空格
0 T# x+ m6 c$ B: e/ J* k& p
3 S" y+ _! h _1 w
# password-db = passwd
$ Z+ v, \$ m& L
0 d8 k4 @# v" U1 O( c
# authz-db = authz
' e. ?1 V9 `* a3 j" K) P9 v) q, U
! U2 L- Y7 ?* @
3 o% `9 ~6 A$ i
然后编辑passwd 文件 写上自己要设置的账号和密码 注意前边不能有空格 并且不能有 #号 否则配置无效
, M" R) p) b h8 V" t) p% b& ` o
; J6 ?1 [# c/ O) F3 C5 o
登录名=密码
1 ]* ~9 x) X1 o0 f& {
4 |5 C( m$ P! k* v
user=123456
2 ?( P2 ~ f$ J
8 }$ ~" H% e1 v2 z" L+ L5 i1 |
8 N, k( S3 k: N, b( ]
最后编辑authz文件给让配置的账号设置权限(其中[blog:/] 设置的用户对blog下的所有文件都有设置的权限 r代表可读权限 w代表可写权限)
" z; _8 H8 T* F* V- m0 |# i
3 a" e" ]' j0 b
# * = r
5 Z" `) E$ Q$ o% \4 q
- a3 Y* l# r( u7 c: j {
[/]
) D. \7 B. }9 S8 P& ^" w9 [
8 d- B, v) k( g
root=rw
4 D# c) ~; h4 v0 U( ]' g, \
' U5 [, O g2 F" L, i
这是用户的配置就完成了
+ D# p7 Q/ h+ g6 L
! \: w1 x, J( B+ H- L r
接下来我们就需要开启svn svnserve -d -r /home/svn/blog
# j% ]0 y) R* f5 }6 m/ g
svnserve -d --listen-prot 端口 -r /data/svn/ssyleo
% g: B0 L7 O1 E- V: q, ^ X j( N
- Q: m0 P- a& J9 O( m" R0 h4 L
使用此命令开启svn 根据自己设置的目录自行更改
/ X/ m* ~* ?+ }1 b5 j) G/ i
; u3 }( B+ Y5 ?+ h3 K* d. }
使用netstat -nltp 命令 可以看到 svn的默认端口为3690 如果你是用的是阿里云服务器的话 还需要在安全组添加该端口,否则也会造成 客户端上传代码失败具体操作我在这里就不多讲了
) ^; e6 o8 I( l1 E
4 A/ C) d. X/ e
$ V, c+ p0 J6 g
win下载svn工具
& L5 U/ r9 ~0 {2 N) u/ r! a, [8 o9 y
- ^# V! P9 }; G" I' I) |
接下来我们就需要在客户端做测试 这里我用的是我自己的电脑 svn客户端的下载链接
https://tortoisesvn.net/downloads.html
打开后根据自己电脑配置选择不同的安装包 (安装完记得重启电脑)这里安装步骤不就不说了 一直下一步就行了
0 S- I3 o$ f, d" X: r" n( U, n
+ R I) v0 e* ^
+ _: R) C. @5 E; U: e
重启完电脑后 右击鼠标 点击SVN checkout (svn捡出)下载代码
2 u* C( m0 N. y+ z: h
输入你的svn地址 地址请根据自己的设置自行更改
& l, ?9 G | V
. B4 f. _' j: R4 }0 K/ ]
& t- S7 }+ s$ `! x$ ]1 L' A& @/ q* B
然后会弹出框让你输入你的账号和密码 输入后即可下载 服务器端的代码 你会发现文件夹里 只有一个.svn 如果没有的请将你的隐藏文件夹选项去掉这是你的svn 就搭建好了
3 J# f1 U9 C, U& r4 C* @
' m: B' H4 y$ S( \
9 q6 }* J( ~" W+ I& f2 z9 F* T
(svn客户端简单使用 svn update 更新代码 svn commit 提交代码)
: ]: B. I% b. C# _
+ v) F7 |$ i* L$ @
: }' j% s' c& q/ F- E7 |
& g6 @3 D# @% a1 o4 G% B
可是这并不是我们想要的效果我们需要的是在web可以直接同步访问的所以我们要设置提交到svn的 代码能同步更新到web 根目录 svn 也是可以达到这种效果的 首先我们进入 web 根目录 这里我的跟目录在 /var/www/html/ 切换到 html目录下使用 svn co svn://192.168.1.35/blog 与网站根目录建立联系 同样的跟具体提示 输入自己设置的账号和密码并 输入yes设置保存
# d! Z5 o) w7 S9 `" V. N
0 S& q' E1 V. Y( X& v# A. o4 b
这时我们保存在版本库的代码就会被同步到网站根目录
$ P n! Y! Z; k- Y$ U# M7 d, c
9 W5 {% L* z) v7 Y8 y2 }
5 }8 w% d8 j9 t0 D" b( W
9 m* u* L' X6 ^! A" n B
! d! V% O3 d: I' _# P
! e0 q/ E1 |* {. y' j. f
作者:
admin
时间:
2021-12-2 19:04
配置同步web目录
# z- D2 L% X+ B0 o, {; Y
cp /data/svn/ssyleo/hooks/post-commit.tmpl /data/svn/ssyleo/hooks/post-commit
! `1 S8 o7 j* b9 B9 D! V
( H) t. R) Y1 A( P) L# B5 o, C
REPOS="$1"
; {. N# \9 r3 g) y
REV="$2"
1 M+ s& x9 Q; W; |& N
TXN_NAME="$3"
1 G6 g9 l$ U5 Y
AUTHOR="$(svnlook author -r $REV $REPOS)"
! J6 `: w5 g( k
MESSAGE="$(svnlook log $REPOS)"
`$ ?9 N# O+ n0 S
SVN_PATH=/usr/bin/svn
: C4 |3 ?' G5 `- N5 c% ^8 M' Z4 I
WEB_PATH=/usr/share/nginx/html/ssyleo
& L$ X$ x$ g3 j0 W4 o( U6 X' t
mkdir -p /var/log/svnlog
( E* ^. s7 M* s- n5 [. E
touch /var/log/svnlog/ssyleo_update.log
7 x" s' y; J1 @
LOG_PATH=/var/log/svnlog/ssyleo_update.log
; a# V: |6 q8 m" r V
echo "\n开始提交" `date '+%Y-%m-%d %H:%M:%S'` '######' >> $LOG_PATH
9 K+ r+ c' Y1 Y9 T
echo $AUTHOR,$MESSAGE >> $LOG_PATH
1 u1 J4 Q6 d7 o# _
echo `whoami`,$REPOS,$REV,$TXN_NAME >> $LOG_PATH
% ]6 C5 i. u+ U/ r
$SVN_PATH update --username username --password password $WEB_PATH >> $LOG_PATH
复制代码
' \2 ?( o$ q* ?4 h7 V$ a9 h
( t+ U7 W* J( q+ T3 c# r/ b/ [
#!/bin/sh
7 L. s$ H0 ^( R: e3 R4 ~4 \: Q! ]% d
#设定环境变量,如果没有设定可能会出现update报错
: T4 T$ ?% Z0 o9 F0 N
export LANG=zh_CN.UTF-8
) {% O6 j |) q4 v8 D1 E: o
REPOS="$1"
- k( i- V' `2 q' K8 F' T
REV="$2"
! Q1 z# h1 s1 O
SVN_PATH=/usr/bin/svn
1 t& Q+ Y9 [4 r7 W/ e( P
WEB_PATH=/web/project
# p% e5 K& M& N: ?' u
LOG_PATH=/tmp/svn_update.log
1 V; g" C6 Z' n% ?" K0 g' F
#/usr/bin/svn update --username user --password password $WEB_PATH --no-auth-cache
0 \1 D0 ]/ T; N% c. S* L2 q! _
echo "nnn##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH
7 V5 Y) O: P6 l8 }: T) B
echo `whoami`,$REPOS,$REV >> $LOG_PATH
! }8 H. j& t' v& C1 c1 i/ a7 `
$SVN_PATH update --username user --password password $WEB_PATH --no-auth-cache >> $LOG_PATH
8 _3 q) a# m# F8 W
chown -R www:www $WEB_PATH
复制代码
) Q4 U% L9 b3 M8 ~
作者:
admin
时间:
2021-12-2 21:57
#!/bin/sh
4 i1 Z; _/ O/ [7 ~5 n0 u
export LAND="zh_CN.UTF-8"
7 u5 `* |- X1 {+ m
REPOS="$1"
7 V! W0 D9 n' D1 f% m
REV="$2"
. g6 W# w% I) S, ^
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
6 G; v- V }2 H2 B
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
/ _/ }2 Z H1 Q
9 E( s* d3 k2 C
#!/bin/sh
9 q! I5 _& y9 ^; z! Z
export LAND="zh_CN.UTF-8"
. {4 h2 t& |& v; @
REPOS="$1"
7 P, ~2 {; `, e2 e
REV="$2"
" a; X# w8 N6 k3 r6 J
svn co svn://localhost /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
7 N8 Y+ h% H- P8 y$ C8 M
svn up /www/wwwroot/193 /www/wwwroot/193/193 --username cncml --password pw --no-auth-cache
复制代码
6 t \8 ?, M5 P! W9 g
& g0 q8 W2 o/ }$ F2 i& Q. u& O
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2