Linux Svn 自动更新
2021/11/23 7:10:51
本文主要是介绍Linux Svn 自动更新,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Linux Svn 自动更新
1. 安装
yum install subersion
2. 配置
2.1 创建仓库
我们可以在 /www/server/svn/tests 的仓库 ,以后可以将所有的仓库放入 /www/server/svn中
[root ~]# cd /www/server/svn [root svn]# svnadmin create /www/server/svn/tests [root svn]# ls chats tests [root svn]# cd tests/ [root tests]# ls conf db format hooks locks README.txt
目录 | 说明 |
---|---|
conf | SVN 版本的配置文件(版本库的访问账号、权限等) |
hooks | 放置hook脚本 |
locks | 用来追踪存取文件库的客户端 |
format | 一个文本文件,文件中只包含一个整数,表示当前文件库配置的版本号 |
db | 存放所有的版本控制数据文件 |
[root tests]# ls conf db format hooks locks README.txt [root tests]# cd conf/ [root conf]# ls authz hooks-env.tmpl passwd svnserve.conf
目录 | 说明 |
---|---|
authz | 权限控制文件 |
passwd | 账号密码文件 |
svnserve.conf | SVN 服务配置文件 |
2.2 设置 SVN 账号密码
[root conf]# vi passwd
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q5Mnj7Oo-1637574887466)(C:\Users\晨晨\AppData\Roaming\Typora\typora-user-images\image-20211122165124121.png)]
以上的列子是创建一个 user 的用户,密码为 123456
2.3 设置账号的读写权限
[root conf]# vi authz
在文件底部加上一下代码 ,其中 user 是之前添加的账号,r 为读权限,w 为写入权限
[/] user=rw
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XFFiN3RS-1637574887467)(C:\Users\晨晨\AppData\Roaming\Typora\typora-user-images\image-20211120171223661.png)]
2.4 修改 SVN 服务配置
[root conf]# vi svnserve.conf
修改一下数据
anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示 auth-access = write #授权用户可写 password-db = passwd #使用哪个文件作为账号文件 authz-db = authz #使用哪个文件作为权限文件 realm = /www/server/svn/tests #认证空间名,版本库所在目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UAeJWXxj-1637574887468)(C:\Users\晨晨\AppData\Roaming\Typora\typora-user-images\image-20211120171906170.png)]
3.启动与停止
启动
[root conf]# svnserve -d -r /www/server/svn/
停止所有的svn进程
[root conf]# killall svnserve
以下命令中,-d 进程守护,-r 后台执行,795917、796023为进程号
[root conf]# ps -ef | grep svnserve root 795917 1 0 17:37 ? 00:00:00 svnserve -d -r /www/server/svn/ root 796023 762074 0 17:37 pts/0 00:00:00 grep --color=auto svnserve
也可以像下面这种停止svn进程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dnMqUQni-1637574887469)(C:\Users\晨晨\AppData\Roaming\Typora\typora-user-images\image-20211122162530575.png)]
4. 放行端口及客户端连接
4.1 端口放行(端口为3690)
以下命令中检查端口为未放行
[root conf]# firewall-cmd --query-port=3690/tcp no
放行3690端口
[root conf]# firewall-cmd --zone=public --add-port=3690/tcp --permanent success
重启端口
[root conf]# systemctl restart firewalld.service
4.2 客户端连接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-65vBRnVb-1637574887470)(C:\Users\晨晨\AppData\Roaming\Typora\typora-user-images\image-20211122151235124.png)]
确定之后再把你之前设置的账号密码输入进去就可以了
5. 实现svn更新同步到服务端
5.1 在服务端中导入svn版本库
[root conf]# svn co svn://localhost/tests /www/wwwroot/tests --username admin --password admin
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1hYd06ow-1637574887472)(C:\Users\晨晨\AppData\Roaming\Typora\typora-user-images\image-20211122172604011.png)]
以上这样就把 SVN 版本库导入到服务端了(注意 : 如果是第一次导入则需要输入 yes)
5.2 在服务端中建立钩子脚本
进入hooks目录中创建 post-commit
[root tests]# cd hooks/ [root hooks]# pwd /www/server/svn/tests/hooks [root hooks]# vi post-commit
输入一下数据
#!/bin/sh export LANG=en_US.UTF-8 WEB=/www/wwwroot/tests #要更新的目录 update $WEB --username admin --password admin
接下来再给 post-commit 文件权限
[root hooks]# chmod 775 post-commit
再重启一下svn
[root hooks]# ps -ef |grep svn root 1506709 1 0 17:01 ? 00:00:00 svnserve -d -r /www/server/svn/ root 1512024 1489101 0 17:22 pts/1 00:00:00 grep --color=auto svn [root hooks]# kill -9 1506709 [root hooks]# svnserve -d -r /www/server/svn/
5.3 测试自动更新
进入刚才导入版本库的文件地址,并查看下版本库的文件
[root hooks]# cd /www/wwwroot/tests [root tests]# ls index.php
我们在客户端试着上传文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QQHoNw1a-1637574887472)(C:\Users\晨晨\AppData\Roaming\Typora\typora-user-images\image-20211122173226529.png)]
提交之后,再查看一下版本库的文件,查看之后发现有自动添加
进入刚才导入版本库的文件地址,并查看下版本库的文件
[root hooks]# cd /www/wwwroot/tests [root tests]# ls index.php
我们在客户端试着上传文件
[外链图片转存中…(img-QQHoNw1a-1637574887472)]
提交之后,再查看一下版本库的文件,查看之后发现有自动添加
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-78bXRlKT-1637574887473)(C:\Users\晨晨\AppData\Roaming\Typora\typora-user-images\image-20211122174601145.png)]
这篇关于Linux Svn 自动更新的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法