linux服务器安装svn超详细介绍

2022-09-06 12:41:03 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

centos操作系统下安装svn:

1.查询是否安装

代码语言:javascript复制
rpm -qa subversion

  如果想删除svn运行

代码语言:javascript复制
yum remove subversion  

2.如果没有使用则运行以下操作  

代码语言:javascript复制
yum -y install  subversion

3.此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

  若需查看svn安装路径,可以用以下命令:

代码语言:javascript复制
rpm -ql subversion

4.创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

  本人选择在/usr/share/nginx/html/svn路径下创建版本库,当前处于根目录下,一次性创建如下:

代码语言:javascript复制
mkdir /usr/share/nginx/html/svn/svnrepos

5.创建svn版本库

  在上边建立的路径基础上,创建版本库,命令如下:

代码语言:javascript复制
svnadmin create  /usr/share/nginx/html/svn/svnrepos/test

(test为你预期的版本库名称,可自定义)

6.创建成功后,进入test目录下

代码语言:javascript复制
cd /usr/share/nginx/html/svn/svnrepos/test

7.进入目录,可以看见如下文件信息:

8.修改配置

代码语言:javascript复制
cd /usr/share/nginx/html/svn/svnrepos/test/conf

9. cd conf目录下,一共存放三份重要的配置文件,如下:

authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

10.修改这三个文件

代码语言:javascript复制
vi authz

只需在末尾添加,无需在文件其他部分修改和添加任何东西,末尾内容如下:

  []

  账号1 = rw

  账号1 = rw

#切记!如果先设置成这样的[]的话 服务器后边svn提交更新的时候报错 请修改成[/]就好了

rw表示赋予此账号可读写的权限

11.修改passwd文件信息

代码语言:javascript复制
vi passwd

  账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:

  账号 = 密码

  例如:test= 123456

12.修改svnserve.conf(重要

#authz-db = authz 如果此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常

  realm = My First Repository去掉注释即可,无需做任何修改

  到此,配置已经全部完成,账号信息已经添加成功

13.防火墙 关闭就可以 如需开启防火墙的状态按照一下操作

代码语言:javascript复制
find / -name iptables

  本人的是这个 你们可以搜一下你们的

代码语言:javascript复制
usr/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

/etc/init.d/iptables save

service iptables restart

14.启动svn服务器

代码语言:javascript复制
svnserve -d -r /usr/share/nginx/html/svn/svnrepos

启动成功后,可用ps -aux查看服务启动是否成功

15.自动更新部署 (搭建svn都不是仅仅为了把代码存到仓库,而是同步部署到对应的项目。)

  在 /usr/share/nginx/html/svn/svnrepos/test/hooks目录的 hooks 里面有一堆tmpl,今天我们就说一下自动部署post-commit.tmpl,

  tmpl文件是模版文件,我们要用post-commit需要手动复制对应tmpl里面的内容到新的post-commit里面。

代码语言:javascript复制
cd  /usr/share/nginx/html/svn/svnrepos/test/hooks
代码语言:javascript复制
cp post-commit.tmpl post-commit

  使用ftp软件打开 刚刚新建的post-commit 文件,清空文件

16.修改post-commit文件

  然后打开文件清空内容,修改为以下代码:

代码语言:javascript复制
#!/bin/sh    #其中第一行意思是:用sh来解析这个脚本,因为各种shell的语法有细微的差别

REPOS="$1"

REV="$2"

export LANG=en_US.UTF-8  #第二行是编码格式:这里我使用的是UTF-8   有的是GBK格式会报错!!

LOG_PATH=/tmp/svn.log

echo `date " %Y-%m-%d %H:%M:%S"` >> $LOG_PATH

echo `whoami`,$REPOS,$REV >> $LOG_PATH   #这是一个操作日志  可加可不加



/usr/bin/svn co svn://39.102.74.157/test /usr/share/nginx/html/svn/svnrepos/test/     

/usr/bin/svn update /usr/share/nginx/html/svn/svnrepos/test/ --username test --password 123456  

#最后一行/usr/bin/svn 是svn的路径,不是项目路径,应该都是一样的,后半句分别是用户名、密码、和项目路径。--username这个比较坑了,前面其实是两个减号,英文输入法下的

chown -R 777 /usr/share/nginx/html/svn/svnrepos/test/

#!/bin/sh REPOS=”1″ REV=”2″ export LANG=en_US.UTF-8 LOG_PATH=/tmp/svn.log echo `date “ %Y-%m-%d %H:%M:%S”` >> LOG_PATH echo `whoami`,REPOS,REV >>

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155435.html原文链接:https://javaforall.cn

0 人点赞