详解CentOS的SVN服务器搭建与自动部署全过程

发布时间 - 2026-01-10 23:10:51    点击率:

服务器搭建

安装服务

yum install subversion 

配置服务

mkdir -p /data/wwwsvn/myrepo #创建svn仓库的目录 

这里可以自定义创建的目录,注意不是网站的文件目录。

svnadmin create /data/wwwsvn/myrepo #与上面的目录相同。 

这里要注意该目录不能是空目录。 成功以后会得到以下文件

# ls
conf db format hooks locks README.txt 

进入conf修改配置文件

vi passwd添加在末尾

[users]
# harry = harryssecret
# sally = sallyssecret
youname = yourpassword #你的用户和密码 

vi authz添加在末尾

...
[/]
yourname = rw 

vi svnserve.conf关闭注释以及修改变量

 anon-access = read #匿名用户可读
 auth-access = write #授权用户可写
 password-db = passwd #使用哪个文件作为账号文件
 authz-db = authz #使用哪个文件作为权限文件
 realm = /data/wwwsvn/myrepo # 认证空间名,版本库所在目录,和之前的一样

开启和关闭服务

 svnserve -d -r /data/wwwroot/myrepo #开启
 killall svnserve #关闭
 ps aux | grep svnserve #查看是否运行

打开端口

这一步很重要,如果你都配置完了却发现连接不上,那一定是端口没有打开,默认端口是3690.

iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT #开放端口 
service iptables save #保存 iptables 规则(如不能保存请使用其他方法保存) 

客户端连接

Windows

使用TortoiseSVN,url填写svn://你的服务器ip,账号密码填刚刚设置的。

Mac

使用CornerStone,url填写svn://你的服务器ip,账号密码填刚刚设置的。

自动部署

每一次commit提交代码之后都会执行钩子post-commit,根据这个原理可以修改post-commit,让服务器上的web目录在每次有人commit之后自动update。

cd /data/wwwsvn/myrepo/hooks #你的版本仓库目录 
cp post-commit.tmpl post-commit 
vi post-commit 

内容如下

export LANG=zh_CN.UTF-8 #必须要这行 
echo "hello world" >> /tmp/svn.log #用来测试钩子是否有执行,调试使用,如果正常就不需要这行了 
/usr/bin/svn update /data/wwwroot/yourWebDir --username autoweb --password autoweb --no-auth-cache #也可以用其他方法,总之要保证web目录能正常update

钩子文件里的其他都可以不要了,可以都把他们注释掉。

能这么使用的前提是你的yourWebDir已经checkout过了

cd /data/wwwroot/yourWebDir 
svn checkout svn://你的服务器ip 
... #根据提示完成checkout

至此全部搞定,每一次commit到服务器会自动更新网站内容了。

这也是上次服务器数据丢失之后第一次记录了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# centos  # svn服务器搭建  # centos部署svn服务器  # centos7搭建svn服务器  # svn服务器安装在centos7系统平台  # centos下搭建SVN服务器和MySQL  # CentOS 7.0下SVN服务器图文搭建教程  # linux(centos7)搭建SVN服务器的思路  # CentOS下搭建SVN服务器的步骤详解  # linux(centos)下SVN服务器如何搭建  # CentOS SVN服务器如何管理多个项目  # 这行  # 过了  # 就不  # 可以用  # 要注意  # 请使用  # 很重要  # 自定义  # 你都  # 那一  # 他都  # 这篇文章  # 要了  # 都把  # 以后会  # 配置文件  # 自动更新  # 连接不上  # 客户端  # 根据提示 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 微信小程序 HTTPS报错整理常见问题及解决方案  大连 网站制作,大连天途有线官网?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  如何快速搭建虚拟主机网站?新手必看指南  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何快速搭建高效可靠的建站解决方案?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  如何在 Pandas 中基于一列条件计算另一列的分组均值  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何实现模型的全局作用域?(Global Scope示例)  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何在IIS7上新建站点并设置安全权限?  南京网站制作费用,南京远驱官方网站?  java ZXing生成二维码及条码实例分享  Bootstrap整体框架之JavaScript插件架构  浅析上传头像示例及其注意事项  javascript如何操作浏览器历史记录_怎样实现无刷新导航  北京的网站制作公司有哪些,哪个视频网站最好?  如何快速搭建高效WAP手机网站吸引移动用户?  如何用免费手机建站系统零基础打造专业网站?  Python3.6正式版新特性预览  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何用y主机助手快速搭建网站?  Laravel怎么清理缓存_Laravel optimize clear命令详解  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  网易LOFTER官网链接 老福特网页版登录地址  Laravel如何使用Telescope进行调试?(安装和使用教程)  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  ,在苏州找工作,上哪个网站比较好?  在线制作视频网站免费,都有哪些好的动漫网站?  Laravel如何自定义分页视图?(Pagination示例)  JavaScript中的标签模板是什么_它如何扩展字符串功能  如何在服务器上三步完成建站并提升流量?  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  轻松掌握MySQL函数中的last_insert_id()  Python文件异常处理策略_健壮性说明【指导】  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Java垃圾回收器的方法和原理总结  智能起名网站制作软件有哪些,制作logo的软件?  高性价比服务器租赁——企业级配置与24小时运维服务  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付