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

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

总结

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


推荐阅读
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 解决MySQL远程访问故障
    同事反馈无法访问我安装的MySQL数据库。经过排查,发现是在Windows服务器上安装MySQL后未开启远程访问权限。本文将详细介绍如何解决这一问题。 ... [详细]
  • 使用虚拟机配置服务器
    本文详细介绍了如何使用虚拟机配置服务器,包括购买云服务器的操作步骤、系统默认配置以及相关注意事项。通过这些步骤,您可以高效地配置和管理您的服务器。 ... [详细]
  • Windows Server 2008 R2 中配置 IIS 7 创建 Web 站点
    本文介绍了如何在 Windows Server 2008 R2 系统上安装 IIS 7 并创建一个 Web 站点。实验环境为一台安装了 Windows Server 2008 R2 的虚拟机。 ... [详细]
  • Vim 编辑器功能强大,但其默认的配色方案往往不尽如人意,尤其是注释颜色为蓝色时,对眼睛极为不友好。为了提升编程体验,自定义配色方案显得尤为重要。通过合理调整颜色,不仅可以减轻视觉疲劳,还能显著提高编码效率和兴趣。 ... [详细]
  • 本文深入探讨了 Git 与 SVN 的高效使用技巧,旨在帮助开发者轻松应对版本控制中的各种挑战。通过详细解析两种工具的核心功能与最佳实践,读者将能够更好地掌握版本管理的精髓,提高开发效率。 ... [详细]
  • AppFog 是一个基于 CloudFoundry 的多语言 PaaS(平台即服务)提供商,允许用户在其平台上轻松构建和部署 Web 应用程序。本文将通过详细的图文步骤,指导读者如何在 AppFog 免费云平台上成功部署 WordPress,帮助用户快速搭建个人博客或网站。 ... [详细]
  • 分布式开源任务调度框架 TBSchedule 深度解析与应用实践
    本文深入解析了分布式开源任务调度框架 TBSchedule 的核心原理与应用场景,并通过实际案例详细介绍了其部署与使用方法。首先,从源码下载开始,详细阐述了 TBSchedule 的安装步骤和配置要点。接着,探讨了该框架在大规模分布式环境中的性能优化策略,以及如何通过灵活的任务调度机制提升系统效率。最后,结合具体实例,展示了 TBSchedule 在实际项目中的应用效果,为开发者提供了宝贵的实践经验。 ... [详细]
  • 最近,我在CentOS 5服务器上成功部署了GForge 5.7 Community Edition。与Advanced Server版本相比,虽然功能略有简化,但仍然能够满足大多数开源项目管理的需求。为了确保数据安全,我开发了一套全自动备份脚本,该脚本能够定期备份GForge的数据和配置文件,并将其存储在远程服务器上,以防止数据丢失。此外,该脚本还具备错误检测和日志记录功能,便于故障排查和维护。 ... [详细]
  • Jenkins学习精华:自动化构建与持续集成入门指南
    本文综合了网络资源及同事分享的PPT内容,详细介绍了Jenkins在自动化构建与持续集成中的应用。首先涵盖了Jenkins的安装与配置流程,接着阐述了如何根据项目需求设定自动化编译任务,包括确定开发环境、选择合适的编译工具以及实现代码的自动更新等关键步骤。特别强调了在SVN环境中通过命令行实现代码自动拉取的最佳实践。 ... [详细]
author-avatar
梦天使悠然
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有