ubuntu环境下部署SVN自动更新总结

摘要:
目录1.安装SVN。Sudoapt getinstallsubversion2.创建svn根目录sudomkdir/home/ubuntu/SVN3.创建项目仓库。首先,在SVN根目录下创建一个新文件夹。Sudomkdir/home/ubuntu/SVN/T01使用SVN命令创建SVN文件仓库sudosvnadcreate/home/uubntu/SVN/T014。配置SVN以打开刚刚创建的项目仓库。其中将有一个conf文件夹。打开conf文件夹。

目录

1、安装SVN。
sudo apt-get install subversion
2、创建svn根目录(SVN)
sudo mkdir /home/ubuntu/SVN
3、创建项目仓库
  • 首先在SVN根目录下创建一个新文件夹(T01)。
sudo mkdir /home/ubuntu/SVN/T01
  • 使用svn命令创建SVN文件仓库
sudo svnadmin create /home/ubuntu/SVN/T01
4、配置SVN
  • 打开刚才创建的项目仓库(T01),里面会有一个conf文件夹,打开conf文件夹。
  • svnserve.conf:svn服务配置文件
  • passwd:设置用户名和密码
  • authz:设置管理用户组和权限需要用到

4.1、首先设置打开passwd文件设置用户名和密码。

......

[users]
admin = admin123

#备注:admin是用户名、admin123是密码、(=)号前后有一个空格。

4.2、打开authz文件设置用户所属分组和权限

[groups]
group_admin  = admin

[/]
@group_admin  = rw 

#备注:
# group_admin是用户分组名、admin是刚才我们添加的用户名称。可以根据需要添加多个分组

# [/]:表示所有文件夹的操作权限
# [a:/]:表示a文件夹下的所有文件的操作权限
# @group_admin: 表示为group_admin分组内的用户赋予权限
# r :表示读的权限
# w :表示写的权限
# rw :表示读写的权限都有

4.3、打开svnserve.conf文件修改svn服务配置

  • 删除下面内容的前面的 #
anon-access = none
	表示匿名用户的权限
auth-access = write
	表示认证用户的权限
password-db = passwd
	表示使用用户名密码
authz-db = authz
	表示使用权限认证
5、启动svn服务
sudo svnserve -d -r  /home/ubuntu/SVN
  • 其中 -d 表示守护进程, -r 表示在后台执行
  • /home/ubuntu/SVN 为svn的根目录
6、查看svn服务是否启动
  • 首先查看svn的进程id
ps -ef|grep svn

#备注:
# ps -ef  #表示查看所有进程
# grep    #表示进行筛选
7、连接svn
1、在服务器上创建需要存放的文件夹www

mkdir www
    
2、进入www文件夹

cd /www      #进入要更新的目录

3、执行命令

svn co svn://IP地址

8、杀死svn进程
kill -9 进程id

killall svnserve

9、卸载svn
sudo apt-get remove --purge subversion
10、Windows本地无权限上传问题
  • Windows本地提交的时候,提交失败,提示错误:/db/txn-current-lock': Permission denied
  • 网上查询得知,是因为用户不同的原因,执行如下命令完美解决:
sudo chmod -R o+rw  /home/ubuntu/SVN

#备注:/home/ubuntu/SVN是你项目库的根目录的路径
11、创建钩子文件
# 1、打开svn下的hooks文件夹,复制post-commit.tmpl文件并去掉后缀.tmpl

cp -a post-commit.tmpl post-commit

# 2、给post-commit增加可执行权限

chmod +x post-commit

# 3、编辑post-commit的内容


#!/bin/sh 

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

svn update /home/ubuntu/www || exit 1

#备注:/home/ubuntu/www是文件保存的位置路径


# 4、在当前文件目录下执行post-commit文件进行测试

./post-commit

#备注:创建钩子文件后,需要重启svn服务。

参考资料:

免责声明:文章转载自《ubuntu环境下部署SVN自动更新总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Exchange学习:EWS 通过流通知和拉取通知订阅Exchange新邮件提醒Eclipse环境搭建并且运行wordcount程序下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

nvidia tk1使用记录--基本环境搭建

前言   项目最开始是在X86+Nvidia(ubuntu+opencv+cuda)平台上实现,达到了期望性能,最近考虑将其移植到嵌入式平台,特别是最近nvidia出了tegra X1,基于和我们使用的gtx960相同的架构的gpu且是64位 8核心cpu,于是开始了尝试移植过程。当前TX1才出来,购买不是那么方便,于是拿它的前一代TK1进行一个最基本的评...

Ubuntu14.04建立WiFi热点

整理自Ubuntu 下建立WiFi热点的方法 Ubuntu14.04 Deepin2014分享WiFi 亲测成功 方法一:network manager 用Ubuntu自带的network manager就可以设置了 第一步: 打开系统的网络设置,打开 网络连接。点击最下面的编辑链接,然后点击右边的添加,添加一个无线网络; 第二步: 在 Wi-Fi 随意...

配置frp

#创建frp客户端sudo mkdir /etc/frpsudo cp frpc.ini /etc/frp/sudo cp frpc /usr/bin/sudo cp systemd/frpc.service /lib/systemd/system/sudo systemctl daemon-reloadsudo systemctl enable frpc...

(转)Unity内建图标列表

用法 Gizmos.DrawIcon(transform.position, "PointLight Gizmo"); UnityEditor.EditorGUIUtility.FindTexture("PointLight Gizmo"); Unity Editor Built-in Icons Icons what can load usingE...

linux svn安装和配置

svn概述 众所周知,svn是一种集中式的版本控制工具,是cvs的改进版,那么svn相比cvs的好处在哪里呢? 基于目录的版本控制系统(传统的CVS都是基于单个文件进行版本控制的,而SVN可以随意去除任何一个文件、目录的任何一个历史版本) 原子提交(提交多个文件时,如果一个文件发生冲突,则其他修改都不会被提交) 高效的分支与标签 多种访问方式(svn提...

Docker学习笔记之保存和共享镜像

0x00 概述  让 Docker 引以为傲的是它能够实现相比于其他虚拟化软件更快的环境迁移和部署,在这件事情上,轻量级的容器和镜像结构的设计无疑发挥了巨大的作用。通过将容器打包成镜像,再利用体积远小于其他虚拟化软件的 Docker 镜像,我们可以更快的将它们复制到其他的机器上。在这一节中,我们就专门来谈谈如何进行这样的迁移。 0x01 提交容器更改 之前...