我只是好奇系统管理员在为开发人员设置工作流程方面走了多远

我只是好奇系统管理员在为开发人员设置工作流程方面走了多远

问题:

我正在寻找有关为开发人员设置服务器\系统集的课程和经验的链接或个人帐户。我特别感兴趣的是自动化以及它是否比它本身的价值还要多,或者是天赐之物。我意识到,根据所开发产品的性质,这可能会更简单或更复杂。我也是这个领域的新手(不到 4 个月),所以我的视野非常有限 :( 以下是我最感兴趣的几点:

  • 您使用版本控制以及为什么使用?
  • 有什么事情是自动化的吗?
    • 你们是否有开发人员直接使用存储库来一般的日常使用?
    • 您是否利用了存储库脚本挂钩?
    • 您是否将任何工具捆绑在一起或以任何方式将它们相互整合
  • 开发人员是否使用基于控制台或图形的工具?
  • 当您升级基础设施或改善事物时,您的首要任务是什么?

我有限的经验

就我而言,团队发展Web 应用程序利用 MySQL 和 PHP。我一直在研究的更新后的基础设施为他们提供了 Mercurial 和项目管理系统 Redmine 的版本控制。我们还为网站提供了开发、测试和生产服务器以及数据库服务器。我将版本控制和项目管理整合到一台服务器上。

从严格的可用性角度来看,上述方法放在自己的服务器上就足够了,但我一直在研究使用提交后钩子自动将最新的提交发送到开发服务器的方法、脚本处理(如最小化 CSS 和 JS 文件)以及将发布到测试和开发的触发器集成到具有权限控制的 Redmine UI 中。我还在 Redmine 中添加了钩子来执行自定义存储库创建和删除(使用自定义钩子)。

我还尝试使用自定义 Dreamweaver 插件来获取来自开发人员的提交消息并自动处理提交过程(最大限度地减少切换窗口和在 TortoiseHg 中单击所花费的时间。)

由于我仍在测试,我不确定最终产品中会包含哪些内容。我只是好奇其他人在运行范围方面做了什么。

答案1

我对这个问题的回答永远是:问问用户,在你的情况下是开发人员。IT 系统本身没有内在价值,它们总是在它们所处的业务环境中发挥作用。因此,你越能让他们更好地完成该环境中需要做的事情,对业务就越有利。

一些更具体的答案:

版本控制:我们使用 svn、cvs 和 git(由于遗留原因,正在采取措施将其合并到 git 中)。
自动化:很多。每个系统都有大量的钩子脚本。由于需求不断变化,工程团队实际上有一个“工具制造者”,即一个特定的软件工程师,他除了为其他人提供和改进工具外什么都不做。IT 团队实际上根本不参与其中,我们专注于服务器本身(硬件、操作系统、升级、性能、网络等)。
控制台与 GUI:什么都可以。我们 IT 人员并不真正关心他们使用什么,只要它有用、可以通过包管理安装/升级(我们也有自己的内部工具包存储库)并且不违反任何法律或侵犯任何版权即可。
首要任务始终不间断地为所有用户提供服务。

相关内容