热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

最近因为工作需要,花了一个晚上时间折腾svn,网上的教程太乱太杂,还有很多是错误的,终于搞定了,所以想着把过程记录下来。这篇文章主要介绍了CentOS的SVN服务器搭建与自动部署全过程,需要的朋友可以参考借鉴,下面来一起看看吧。

服务器搭建

安装服务

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到服务器会自动更新网站内容了。

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

总结

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


推荐阅读
  • TortoiseSVN与VisualSVN Server的安装及基本操作指南
    本文详细介绍了如何安装VisualSVN Server以及TortoiseSVN客户端,并提供了基本的操作步骤,包括配置仓库、用户管理及权限设置等关键环节。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • 掌握数据库引擎存储过程与系统视图查询:DBA与BI开发者的必备技能
    本文介绍了如何利用数据库引擎存储过程及系统视图查询数据库结构和对象信息,为数据库管理员(DBA)和商业智能(BI)开发人员提供实用的基础知识。文章涵盖了一系列常用的SQL Server存储过程和系统视图,帮助读者快速获取数据库的相关信息。 ... [详细]
  • 最佳PHP源码加密工具推荐
    本文探讨了几款高效的PHP源码加密工具,旨在帮助开发者保护其代码免受未授权访问。文章不仅介绍了商业软件的选择,还提供了一些免费且实用的加密工具及其使用方法。 ... [详细]
  • Linux环境下配置Subclipse访问SVN+SSH仓库的方法
    本文详细介绍如何在Linux操作系统中配置Subclipse,以便通过SSH协议安全访问SVN仓库。不同于常见的Windows配置指南,本文提供了针对Linux用户的详细步骤。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 解决SVN图标显示异常问题的综合指南
    本文详细探讨了SVN图标无法正常显示的问题,并提供了多种有效的解决方案,涵盖不同环境下的具体操作步骤。通过本文,您将了解如何排查和修复这些常见的SVN图标显示故障。 ... [详细]
  • 在Windows 10系统中安装TortoiseSVN 1.11.1时,可能会遇到错误代码2503。此问题通常与系统权限设置或安装程序的执行环境有关。本文将详细介绍导致该错误的原因,并提供有效的解决方案。 ... [详细]
  • 本文详细介绍了如何从SVN中获取项目,并在本地环境中进行有效的构建和开发,包括具体的步骤和配置方法。 ... [详细]
  • 持续集成概述与实践指南
    本文探讨了持续集成(CI)的基本概念、目的及其在现代软件开发中的应用。通过实例分析,帮助读者理解如何有效实施持续集成,提高软件开发效率。 ... [详细]
  • 本文详细介绍了 SVN 中的 switch 命令及其使用方法,包括如何切换工作副本到新的 URL 和如何处理版本库迁移等情况。 ... [详细]
author-avatar
书友47721235_104
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有