Jos*_*eld 2 automation scripting version-control
我正在寻找有关为开发人员设置服务器\系统集的课程和经验的链接或个人帐户。特别是我对自动化的数量感兴趣,以及它是否比它的价值或天赐的工作更多。我意识到根据所开发产品的性质,这可能更简单或更复杂。我也是这个领域的新手(<4 个月),所以我的观点非常有限:( 以下是我最感兴趣的几点:
就我而言,该团队使用 MySQL 和 PHP开发Web 应用程序。我一直致力于更新的基础架构为他们提供了 Mercurial 和项目管理系统 Redmine 的版本控制。我们还有用于站点的开发、测试和生产服务器以及数据库服务器。我将版本控制和项目管理结合到一台服务器上。
从严格的可用性角度来看,上述坐在他们自己的服务器上就足够了,但我一直在研究使用提交后挂钩自动将最新传入的提交发送到开发服务器的方法,脚本处理(例如最小化 CSS 和 JS 文件),并将发布的触发器集成到具有权限控制的 Redmine UI 中以进行测试和开发。我还在 Redmine 中添加了钩子来进行自定义存储库的创建和删除(使用自定义钩子)。
我还尝试使用自定义 Dreamweaver 插件从开发人员那里获取提交消息并自动处理提交过程(最大限度地减少切换窗口和在 TortoiseHg 中点击的时间。)
由于我仍在测试中,我不确定什么会使其成为最终产品。我只是好奇其他人在他们跑的范围内做了什么。
我对这个问题的回答永远是:问用户,在你的情况下是开发人员。IT 系统本身没有内在价值,它们总是在它们所使用的业务上下文中发挥作用。因此,您越能让它们在该上下文中执行所需的操作,对业务越好。
一些更具体的答案:
版本控制:我们使用 svn、cvs 和 git(遗留原因,正在采取措施将其合并到 git 中)。
自动化:很多。这些系统中的每一个都有大量的钩子脚本。由于需求不断变化这一事实,工程团队实际上有一个“工具制造者”,即一个特定的软件工程师,除了为其他人提供和改进工具外,什么都不做。IT 团队实际上根本没有参与其中,我们专注于服务器本身(硬件、操作系统、升级、性能、网络等)
控制台与 GUI:什么都可以。而且我们 IT 人员并不真正关心他们使用什么,只要它可以解决问题,可以通过包管理安装/升级(我们也有自己的内部工具包存储库)并且不违反任何法律或侵权任何版权。
#1 优先级始终是为所有用户提供不间断的服务。