不知道这个网站是否可以,但是这里呢!
寻找一个熟练/有经验的linux系统pipe理员,我可以谈谈关于为远程人员build立一个开发环境用于项目。 (或者如果有人能指点我一个好的网站/文章)
我有10-15个服务器,我想build立一个开发环境来创build几个应用程序/项目。 我想我会有testing/备份/用户目录/生产/应用服务器/等…
我正在寻找与最好的方法一起讨论(电话/电子邮件)的人在一起..想要也确保系统是安全的,因为项目的开发人员将远程login。这是对于一个项目可能会变成一个开源项目,但我不想使用sourceforge,只是将项目挂起,直到它经历了几次迭代…
预先感谢任何指针/思想/等…
汤姆·…
从你的StackOverflow帐户,我会猜测你是一个Python商店。
我build议使用BZR作为你的VCS,但这是相当不相干的。 使用你和你的开发者最开心的东西。
您应该有(至less)一个集中式开发服务器。
这应该包含您的存储库的主副本,以及您的开发人员的主目录。
定期备份这台服务器。
使用rsnapshot获取数据的正在进行的快照。 也许是每小时一次的快照,一个夜间异地备份(Amazon S3是物超所值!)。 做一个每周备份到离线中(磁带,DVD,外部硬盘),并每月轮换这些。
不要忘记testing恢复!
如果你有2个开发服务器,你最好应该用ubuntu preseed或者RHEL / Centos Kickstart来构build它们。 然后用puppet构build服务器环境。 从长远来看,这将节省您的时间,特别是当您进行扩展时。
您可以在多个开发服务器之间使用rsync设置文件系统级复制,但是我个人推荐使用像GlusterFS这样的共享块级存储系统。
养成早期编写unit testing的习惯。 即使这只是你的项目的核心模块。 将这些与一个unit testing运行者集成,比如说PyUnit 。 获取代码覆盖率分析器来帮助您开发有效的testing。 将您的testing环境与您的源代码控制集成在一起,像Hudson或Buildbot 。 现在,您可以获知哪个开发人员提交了破坏构build的代码。
你应该有一个单独的testing服务器,这反映了你的生活环境。 理想情况下,你有两个这样的,一个在办公室进行本地testing,另一个在公用服务器所在的同一个数据中心。
2的原因是您可以在本地进行快速部署和testing,但testing与在线服务器相同的环境,例如networking差异,防火墙,路由等。
一旦你有一些服务器设置和工作,你应该考虑某种集中式的备份系统。 将服务器的所有重要位备份到中央位置,然后将该数据复制到单独的服务器。 例如,一个在办公室,一个在数据中心。
以及每周异地/离线备份和灾难恢复testing。
再一次,这很多是“理想的解决scheme”,对于小型创业公司而言,这在财务上是不可行的。 早期对良好做法的投资确实会在未来得到回报。 特别是当你试图快速扩展时会限制停机时间。
良好的源代码pipe理和高效的开发工作stream程也有很长的路要走。
你真的需要这么多的服务器“几个应用程序/项目”? 这似乎有点夸大我。
为了给我一点点的看法,我在一家拥有大约130名员工的公司工作,我负责11台服务器。
有一件事是肯定的,在这个过程中,你会明智地设置你最喜欢的版本控制服务器。