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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 部署禅道至外网

    部署禅道至外网结论:采用Cpolar映射工具和netsh命令netsh命令可以将对本地/局域网的某个端口的请求转发给本地/局域网的另一端口接收处理,假设利用Cpolar映射工具将本地的12345端口映射到外网,再利用netsh命令将本地12345端口转发到192.168.10.188的8000端口,这样,我在外网用http请求本地12345端口时,实际上是在请求禅道(192.168.10.188:8000)网址结论:可行工具:cpolar内网穿透工具和一台内网开着的电

    2022年5月29日
  • 实时数据库 内存数据库_实时数据库产品

    实时数据库 内存数据库_实时数据库产品这是一款实时和嵌入式软件,用来管理持续增长的复杂数据,来支持高级应用的特性。性能和可靠性,更短的产品开发周期等需求,驱使开发者在他们的设计中,考虑采用经验证的、成熟的商业数据库系统组件来,来满足应用层的这些需求。  McObject公司的eXtremeDB嵌入式数据库系列产品是将高性能、稳定性和简单易用性等特性同时融入了工业基的数据库引擎。  了解eXtremeDB产品系列或eXtreme…

    2022年10月14日
  • safari搜索引擎建议需要打开吗_为什么safari用不了谷歌搜索

    safari搜索引擎建议需要打开吗_为什么safari用不了谷歌搜索在使用谷歌搜索引擎的时候会弹出如下页面怎么样才能一步到位,不去点击第二次?第一步:设置」-「Safari」中将默认搜索引擎改为Google第二步:设置地区为香港第三步:看效果

    2022年9月11日
  • System.setProperty()「建议收藏」

    System.setProperty()「建议收藏」/**设置指定键对值的系统属性*setProperty(Stringprop,Stringvalue);**參数:*prop-系统属性的名称。*value-系统属性的值。

    2022年7月4日
  • c++中cstring头文件_C语言中头文件的来源

    c++中cstring头文件_C语言中头文件的来源cstring头文件中的函数类别函数名简介使用赋值memset给数组赋初值使用链接

    2022年9月13日
  • 【软件工程师之路一】咸鱼翻身之自学软件开发[通俗易懂]

    【软件工程师之路一】咸鱼翻身之自学软件开发[通俗易懂]给大家推荐一个网站,主要是给在校学生提供资料和交流的平台,也希望社会人士能进来给与一些经验和建议,把这个网站维持下去。阳光沙滩 http://bbs.sunofbeaches.com/?fromuid=9791“做人如果没有梦想,跟咸鱼有什么分别?”我们的梦想就是如何从零基础去学习软件开发,最后达到我们心目中的高度,首先我按自己的理解大致将各个阶段进行划分,每个公司

    2022年5月6日

发表回复

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

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