linux下svn的使用
环境搭建:
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的使用的更多相关文章
- linux下svn 搭建
linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion yum安装SVN#mkdir -p /opt/svn/repos 创建s ...
- linux下svn命令使用大全
最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ...
- linux下SVN忽略文件/文件夹的方法
linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录) ...
- Linux下SVN命令
一下内容转载于:http://blog.chinaunix.net/space.php?uid=22976768&do=blog&id=1640924.这个总结的很好~ windows ...
- Linux下svn命令详解
本文主要是说明linux下svn命令的使用方法,同时记录自己在使用中遇到的一些疑惑. 1.Linux命令行下将文件checkout到本地目录 svn checkout url(url是服务器上的目录) ...
- linux下svn命令大全
linux下svn命令大全 1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/p ...
- linux下svn常用指令
windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的 ...
- [转载]linux下svn常用指令
一下内容转载于:http://blog.chinaunix.net/space.php?uid=22976768&do=blog&id=1640924.这个总结的很好~ windows ...
- Linux下SVN服务器安装配置及客户端安装说明
原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...
- Linux下SVN的一些使用方法总结
Linux下SVN的一些使用方法总结 近期的一个项目不方便 Check 到本地,需要在测试服务器上进行编写和测试,所以就研究了一下如何在 Linux 命令行下使用 SVN. 首先 svn help ...
随机推荐
- 【VS开发】#pragma pack(push,1)与#pragma pack(1)的区别
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式. #pragma pack (n) 作用:C编译器将按照n个字节对 ...
- LeetCode 2. 两数相加(Add Two Numbers)
2. 两数相加 2. Add Two Numbers 题目描述 You are given two non-empty linked lists representing two non-negati ...
- 喜马拉雅 FM 已购付费音频下载
如何下载在喜马拉雅 FM 中已购买的付费音频.之前想分享自己购买的付费音频给朋友听,碍于喜马拉雅 FM 的音频不能直接导出,所以准备自己搞个下载的小软件. 仅可下载已购买的付费音频.当然,如果你是会员 ...
- python 之 前端开发( jQuery选择器、筛选器、样式操作、文本操作、属性操作、文档操作)
11.5 jQuery 引入方式: 方式一:本地引入 <script src="jquery-3.3.1.min.js"></script> <scr ...
- Nvidia Jetson TX2开发板学习历程( 2 )- 更换pip源,提高下载速度
通过将pip的源更换为国内源,来提高下载速度,这也将成为今后学习过程下载Python包的基础,建议前期一定要完成! 知名的国内源 清华:https://pypi.tuna.tsinghua.edu.c ...
- Go语言 ( 切片)
本文主要介绍Go语言中切片(slice)及它的基本使用. 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. 例如: func arraySum(x []int) in ...
- 『Go基础』第5节 第一个Go程序
本节我们来学习写一个最简单的Go程序: 打印 Hello Go. 第一个Go程序, 只要跟着做, 留下个印象就可以. 用Goland创建一个 hello_go.go 文件(后缀为 .go ). 文件内 ...
- ssh远程连接一段时间会失效的问题
话不多讲,先说明我的环境和远程环境. 本地环境:Ubuntu18.04(client) 远程环境:Ubuntu16.04(server) 我的一个小项目部署在百度云的Ubuntu服务器上,需要经常使用 ...
- 单实例dg软件从10.2.0.4版本安装至10.2.0.5.12
DG环境搭建需求,因此安装与主库相同的软件版本 1.主库软件版本10.2.0.5.12 2dg环境提供的是全新的10.2.0.4.0 3.安装步骤,安装10.2.0.5 静默安装 psu安装10.2. ...
- springboot读取系统级环境变量,和读写系统属性以及unittest来获取环境变量的方法
环境变量的读取以及系统属性的设置 环境变量只能读取,不能修改,系统属性可以修改 系统变量的读取方式: System.getEnv() 系统属性有多重读取和修改方式: 其修改方式为: 读取系统属性: @ ...