我正在寻找关于为开发者设置一组服务器\系统的经验和经验的链接或个人帐户。 特别是我感兴趣的是自动化的数量,如果事实certificate是更多的工作,而不是价值或上帝。 我认识到取决于开发产品的性质,这可能是更简单或更复杂的。 我也是新进入这个领域(<4个月),所以我的观点是非常有限的:(以下是我最感兴趣的几点:
就我而言,团队利用MySQL和PHP开发Web应用程序 。 我一直在更新的基础架构使他们能够使用Mercurial和项目pipe理系统Redmine进行版本控制。 我们也有开发,testing和生产服务器的网站以及数据库服务器。 我将版本控制和项目pipe理结合到一台服务器上。
从严格的可用性angular度来看,上面这些坐在自己的服务器上就足够了,但是我一直在使用post-commit钩子来自动发送最新的传入提交到dev服务器,脚本处理(如最小化CSS和JS文件)的方法,并集成发布的触发器来testing,并通过权限控制进入Redmine UI。 我还在Redmine中添加了钩子来执行自定义的Repository创build和删除(使用自定义钩子)。
我也尝试过使用自定义Dreamweaver插件来抓取开发人员提交的消息,并自动处理提交过程(最小化切换窗口和在TortoiseHg中点击的时间)。
由于我还在testing,我不确定什么会使它成为最终产品。 我只是好奇别人所做的事情。
我对这个问题的答案永远是:问你的用户,开发者。 IT系统没有自己的内在价值,他们总是在自己所使用的业务环境中发挥作用。因此,您可以更好地做好自己所需要的事情,对业务更好。
一些更具体的答案:
版本控制:我们使用svn,cvs和git(遗留的原因,目前正在进行整合到git中)。
自动化:很多。 每个系统都有钩子脚本。 由于需求不断变化的事实,工程团队实际上有一个“工具制造者”,即一个特定的软件工程师,除了为其他人提供和改进工具之外别无其他。 IT团队实际上并没有涉及到这一点,我们专注于服务器(硬件,操作系统,升级,性能,networking等)
控制台与GUI:任何事情都行。 而且我们IT人员并不关心他们使用什么,只要它有用,可以通过包pipe理进行安装/升级(我们也有我们自己的包内容库供我们的内部工具使用),并且不违反任何法律或侵权任何版权。
#1优先级对所有用户来说始终是不间断的服务。