环境搭建:

  yum install subversion       yum安装svn服务

  svn --version  检查是否安装

  cd /usr/local/svn/conf  找到conf 文件

  mkdir -p /var/svn/svnrepos   svn版本创建目录

svnadmin create /var/svn/svnrepos/test   首先创建一个测试版本库test

  cd /var/svn/repos/test/conf

  vi authz  打开文件在最下面加入配置,authz文件负责账号权限的管理,控制账号是否读写权限

dev=rainbol1             //表示设置组
test=rainbol2
ops=rainbol3
[/] //指定根目录先的权限
@test = rw //设置test组的权限为可读可写
@dev = rw
@ops = r

  vi passwd  接着打开第二个文件在最下面加入配置,passwd文件负责账号和密码的用户名单管理

//用户名就是组添加成员是的用户名,密码为helloworld1
rainbol1 = helloworld1
rainbol2 = helloworld2
rainbol3 = helloworld3

  vi conf/svnserve.conf  打开第三个文件在打开下方红框中的配置即可,svnserve.conf文件负责svn服务器配置文件

运行:

  svnserve -d -r <your path>  -d表示后台运行,-r /path 指定目录启动

  如:svnserve -d -r /var/svn/svnrepos --listen-port 3691  后面加参数可以设置自定义端口号,默认端口是3690

注意:注释打开要顶格,不要留有空格,不然会报错

使用常用命令大全:

  作为存储代码的svn服务器:(上述操作)

    进程一直开着就行了,不用管

  作为项目版本控制服务器:

    从svn服务器拉取代码:

 svn co <svn服务器路径> --username <your username> --password <your password>

    往svn服务器添加文件:

svn add <your file load>

    将改动的文件提交到版本库:

svn ci -m “<LogMessage>“ <-N> <--no-unlock> <your PATH>

    为文件加锁,解锁

svn lock -m "<lockmessage>" <--force> <your path> #加锁
svn unlock <your path> #解锁

    到某个版本(回档)

svn up  -r <your version number> <your path>

    信息查看

svn info
svn log
svn list

svn结合jenkins:

jenkins安装跳过

1.新建一个项目在general中选择使用自定义的工作目录,目录为项目目录,设置一个名称

2.点击高级->源码管理->选择Subversion->Repository URL为svn服务器路径,其他默认就好了

3.构建触发器->选择定时构建->添加日程表,根据自己的业务需要选择执行时间

4.构建->执行shell->在linux的root目录,建立shell脚本执行

5.构建后操作->也一样对构建后执行shell脚本

扩展:业务场景(公司使用svn服务器管理代码,测试人员拉取svn服务器不同项目的代码到测试服务器或本地进行测试,期间应用了CI结合svn实现判断不同项目目录执行不同jenkins_curl请求)

#!/bin/sh

REPOS="$1"                  # 仓库的路径
REV="$2" # 新提交的版本号 SVNLOOK=/usr/bin/svnlook CHANGEDDIRS=$($SVNLOOK dirs-changed $REPOS) #修改的目录集合
MASTERDIR=$(echo "$CHANGEDDIRS" | head -) #CHANGEDDIRS里的主目录
MASTERDIR=${MASTERDIR%%/*}
# 遍历提交的代码目录,同步到WEB服务器上,根据业务情况,暂时没用上
# PROJECT=$(echo $MASTERDIR | awk -F / '{print $2}') # 判断项目文件夹,MASTERDIR返回'project'if [ "$MASTERDIR" == "project1" ];then
curl -X POST -v -u ....
elif [ "$MASTERDIR" == "project2" ];then
curl -X POST -v -u ....
elif [ "$MASTERDIR" == "project3" ];then
curl -X POST -v -u ....
elif [ "$MASTERDIR" == "project4" ];then
curl -X POST -v -u ....
elif [ "$MASTERDIR" == "project5"];then
echo 'pass'
fi

jenkins的url配置查看https://www.cnblogs.com/RainBol/p/10980890.html

测试成功,可以触发钩子程序

版权声明:本文原创发表于 博客园,作者为 RainBol本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

linux下svn的使用的更多相关文章

  1. linux下svn 搭建

    linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion       yum安装SVN#mkdir -p /opt/svn/repos       创建s ...

  2. linux下svn命令使用大全

    最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ...

  3. linux下SVN忽略文件/文件夹的方法

    linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录) ...

  4. Linux下SVN命令

    一下内容转载于:http://blog.chinaunix.net/space.php?uid=22976768&do=blog&id=1640924.这个总结的很好~ windows ...

  5. Linux下svn命令详解

    本文主要是说明linux下svn命令的使用方法,同时记录自己在使用中遇到的一些疑惑. 1.Linux命令行下将文件checkout到本地目录 svn checkout url(url是服务器上的目录) ...

  6. linux下svn命令大全

    linux下svn命令大全 1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/p ...

  7. linux下svn常用指令

    windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的 ...

  8. [转载]linux下svn常用指令

    一下内容转载于:http://blog.chinaunix.net/space.php?uid=22976768&do=blog&id=1640924.这个总结的很好~ windows ...

  9. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  10. Linux下SVN的一些使用方法总结

    Linux下SVN的一些使用方法总结   近期的一个项目不方便 Check 到本地,需要在测试服务器上进行编写和测试,所以就研究了一下如何在 Linux 命令行下使用 SVN. 首先 svn help ...

随机推荐

  1. 记录一次使用iisnode部署node项目遇到的坑!

    前言:最近因为项目原因,需要在IIS下部署node项目,在此之前,曾经部署过类似的项目,因此在这次部署还算比较顺利,只是在其中遇到了几个比较坑的问题,所以这次使用博客记录下来,如有园友遇到过类似问题, ...

  2. (生鲜项目)02. app与model设计

    第一步: 设计app 1. 根据业务需求,设计合适的app板块,这里,我们将拥有goods,trade,user_operation, users四个app 2. 然后去注册app 第二步: 设计us ...

  3. LeetCode 976. 三角形的最大周长(Largest Perimeter Triangle) 33

    976. 三角形的最大周长 976. Largest Perimeter Triangle 题目描述 给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的.面积不为零的三角形的最大周长. ...

  4. Java spi 和Spring spi

    service provider framework是一个系统, 实现了SPI, 在系统里多个服务提供者模块可以提供一个服务的实现, 系统让客户端可以使用这些实现, 从而实现解耦. 一个service ...

  5. web应用中实现同一个账号,后面登录的会把前面登录的挤下线

    在web应用中假如没有做会话控制,会出现这样的情况,A登录了账号,B也登录了账号,都是同样的账号,A修改了信息,B会看到修改的信息,这样的用户体验不好,B会觉得我没有修改啊,为什么信息会改变.而做会话 ...

  6. redhat7.6Linux安装Oracle19C完整版教程

    首先安装配置虚拟机,见博客https://www.cnblogs.com/xuzhaoyang/p/11264563.html 然后配置IP地址,见博客https://www.cnblogs.com/ ...

  7. android 8.0 以后 uiautomator 无法直接使用的问题

    android8.1以后sdk tools自带的uiautomator直接打开,截取不到机器界面信息. 可以使用以下方法手动截取. 首先操作机器定位到要分析的界面. 1.截取uix资源文件 adb s ...

  8. Spring Cloud--实现Eureka的高可用(Eureka集群搭建)实例

    将10086注册到10087上: 再在10086服务的基础上复制一个Eureka的服务,端口为10087,将其注册到10086上: application-name的名称保持一致,只是一个服务的两个实 ...

  9. quartz2.3.0(三)cron定义调度周期

    cron总结 cron详解参见:<quartz CronExpression表达式> CronTrigger配置完整格式为7个: [秒]   [分]   [小时]   [日]   [月]  ...

  10. spring源码解析前瞻

    很多人有疑问:为什么要读源码?读源码有什么用?我也一直问自己这些问题,读源码非常枯燥,工作中又用不到,慢慢的自己读源码越发现自己知识的不足,无法把知识串起来,形成知识体系.从单系统中常用的Spring ...