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

linux服务器安装svn超详细介绍 #!/bin/shREPOS="$1"REV="$2"exportLANG=en_US.UTF-8LOG_PATH=/tmp/svn.logecho

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

#!/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 >> $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 shanzezhao –password 123456 chown -R 777 /usr/share/nginx/html/svn/svnrepos/test/子曰:“学而不思则罔,思而不学则殆”;

<span role="heading" aria-level="2">linux服务器安装svn超详细介绍

centos操作系统下安装svn:

1.查询是否安装 

rpm -qa subversion

  如果想删除svn运行

yum remove subversion  

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

yum -y install  subversion

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

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

rpm -ql subversion

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

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

mkdir /usr/share/nginx/html/svn/svnrepos

5.创建svn版本库

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

svnadmin create  /usr/share/nginx/html/svn/svnrepos/test

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

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

cd /usr/share/nginx/html/svn/svnrepos/test

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

<span role="heading" aria-level="2">linux服务器安装svn超详细介绍

 8.修改配置

cd /usr/share/nginx/html/svn/svnrepos/test/conf

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

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

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

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

<span role="heading" aria-level="2">linux服务器安装svn超详细介绍

10.修改这三个文件

vi authz

<span role="heading" aria-level="2">linux服务器安装svn超详细介绍

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

  [\]  

  账号1 = rw

  账号1 = rw

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

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

11.修改passwd文件信息

vi passwd

<span role="heading" aria-level="2">linux服务器安装svn超详细介绍   

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

  账号 = 密码

  例如:test= 123456

12.修改svnserve.conf(重要

<span role="heading" aria-level="2">linux服务器安装svn超详细介绍

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

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

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

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

find / -name iptables

 <span role="heading" aria-level="2">linux服务器安装svn超详细介绍

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

usr/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

/etc/init.d/iptables save

service iptables restart

14.启动svn服务器

svnserve -d -r /usr/share/nginx/html/svn/svnrepos

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

<span role="heading" aria-level="2">linux服务器安装svn超详细介绍

<span role="heading" aria-level="2">linux服务器安装svn超详细介绍

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

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

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

cd  /usr/share/nginx/html/svn/svnrepos/test/hooks
cp post-commit.tmpl post-commit

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

16.修改post-commit文件

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

#!/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 >> $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 shanzezhao –password 123456 chown -R 777 /usr/share/nginx/html/svn/svnrepos/t

 

 <span role="heading" aria-level="2">linux服务器安装svn超详细介绍

 

 

 

 

 

 

 

 

  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • batchnorm原理及代码详解(笔记2)

    batchnorm原理及代码详解(笔记2)Batchnorm原理详解前言:Batchnorm是深度网络中经常用到的加速神经网络训练,加速收敛速度及稳定性的算法,可以说是目前深度网络必不可少的一部分。本文旨在用通俗易懂的语言,对深度学习的常用算法–batchnorm的原理及其代码实现做一个详细的解读。本文主要包括以下几个部分。Batchnorm主要解决的问题 Batchnorm原理解读 Batchnorm的优点 Batc…

    2022年5月28日
    36
  • Django(19)QuerySet API[通俗易懂]

    Django(19)QuerySet API[通俗易懂]前言我们通常做查询操作的时候,都是通过模型名字.objects的方式进行操作。其实模型名字.objects是一个django.db.models.manager.Manager对象,而Manager

    2022年7月31日
    4
  • matlab fmincon优化,求教Matlab用fmincon做优化计算

    matlab fmincon优化,求教Matlab用fmincon做优化计算本人利用fmincon做优化计算,其程序如下:1,主程序clearallx0=[0.1,0.3,0.2,0.3,0.1,45,0.214,0.05,0,0.45,0.15,0,0.4,0.12,0,0,0,0,0,0,0,0,0,0,0,0];A=[1-1-110000000000000000000000;11-1-10000…

    2022年6月7日
    33
  • matlab差值报错,matlab插值介绍「建议收藏」

    matlab差值报错,matlab插值介绍「建议收藏」1、一维插值:已知离散点上的数据集,即已知在点集X=上的函数值Y=,构造一个解析函数(其图形为一曲线)通过这些点,并能够求出这些点之间的值,这一过程称为一维插值。MATLAB命令:yi=interp1(X,Y,xi,method)该命令用指定的算法找出一个一元函数,然后以给出处的值。xi可以是一个标量,也可以是一个向量,是向量时,必须单调,method可以下列方法之一:‘neares…

    2022年5月29日
    31
  • IDEA2018.2.1最新版本破解[通俗易懂]

    转载自:https://www.52pojie.cn/thread-781394-1-1.html再次换电脑,再次安装IDEA,之前的破解用不了,再次查找破解方法。1、把下载的破解补丁放在你的idea的安装目录下的bin的目录下面(如下图所示),本文示例为F:\ProgramFiles\JetBrains\IntelliJIDEA2018.2\bin\JetbrainsCrack-3….

    2022年4月17日
    55
  • 解决 1080端口已被占用

    解决 1080端口已被占用转载自https://blog.csdn.net/longintchar/article/details/79680589问题的提出【实验环境】:Win764bit也许你会碰到以下错误:本文给出2种解决方案。方案一既然说端口已被占用,那就需要找出是哪个程序占用了1080端口。打开cmd.exe,输入命令:netstat-aon|findstr”1080″1最后一列就…

    2025年9月24日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号