Men*_* Lu 1 svn version-control mercurial
我试图找出包含MediaWiki和WordPress安装的网站的版本控制程序.我刚开始考虑这些问题,我可能会问太快和模糊的问题.
说网站的根目录是
~/public_html
Run Code Online (Sandbox Code Playgroud)
有各种静态HTML页面
~/public_html/page1.html
~/public_html/dir/page2.html
...
Run Code Online (Sandbox Code Playgroud)
还有MediaWiki的安装
~/public_html/wiki/
Run Code Online (Sandbox Code Playgroud)
和WordPress
~/public_html/blog/
Run Code Online (Sandbox Code Playgroud)
以及可能具有数据库后端的其他webapp.
还有一些问题我不清楚
如果我使用Subversion,我的第一步是什么?由于我已经在我的Web服务器计算机上运行了/ public_html,我是否需要首先将完整的/ public_html下载到我的本地开发计算机,然后将其作为项目提交到我的svn服务器(单独)?我有其他软件项目使用subversion进行版本控制.
如果我使用Subversion,当我部署时,我只是检查一下,即服务器使用的网站是否是存储库的工作副本?MediaWiki和WordPress会被正确版本化吗?还有.svn目录呢?这不会暴露吗?
除了版本控制/ public_html中的文件如何以与public_html中的文件精简的方式备份数据库?
如果我使用Mercurial,我可以使用public_html作为存储库,并不一定需要克隆存储库?
我正在使用源代码控制,脚本和部署过程来管理一些Web应用程序项目,如wordpress,phpbb和自定义Web应用程序.多年来,我对这些进行了改进,现在我有了一个很好的框架,似乎对我有用,所以它可能适合其他面临类似挑战的人.
以下是有关整体策略的一般要点:
所以,为了回答你的一些问题,我会反过来做.从开发机器上的工作环境开始(包括Web服务器和数据库).让您的应用程序在那里工作和测试.根据需要提交对本地存储库的更改.应用程序准备好部署后,运行部署脚本以自动更新生产站点.
我的部署脚本执行以下操作:
就是这样,一旦脚本到位,部署就变得很有趣.运行一个脚本,进入实时服务器,看看一切正常,完成.
希望这可以帮助.