拥有共享开发服务器的优点

Ben*_*nGC 6 untagged

我团队的开发人员希望使用共享的开发机器,而不是在他们自己的计算机上运行软件。他们的理由似乎是我们只针对 Fedora/CentOS/Red Hat 进行发布,而他们使用 Mac。我试图向他们解释,对于我们正在做的事情,他们都需要服务器上的 root 用户,其中一个人可以很容易地做类似的事情sudo rm -rf /(即使是偶然的),从而将每个人的工作都纳入源控制。我告诉他们下载 CentOS 并使用 VirtualBox 来运行代码。

所以我想这里的问题是谁是对的?从我的角度来看,共享开发服务器的问题比在他们的机器上运行 CentOS 带来的任何不便更重要。

EEA*_*EAA 22

为了阐述我的评论上面,应该是绝对没有必要为您的开发者在你的开发环境需要root权限,共享或以其他方式。将经过深思熟虑的文件权限与少量 sudo 规则相结合,他们应该能够做任何他们需要做的事情。

关于共享开发环境与每个开发人员拥有自己的环境:我和你们的开发人员在一起。随着每个开发人员管理他们自己的开发环境,你最终会得到无数完全不同的配置、软件修订、文件权限结构、守护进程版本、内核版本等。这对于错误压缩来说是一场噩梦

他们认识到他们需要一个稳定的、管理良好的开发环境。他们是绝对正确的,所以给他们吧!

  • 我同意除错误压缩论点之外的所有内容。我认为让开发人员使用尽可能不同的平台会导致错误被更早地检测和修复,这是一件好事。同类测试环境允许在测试环境中发生的错误持续存在和恶化。 (8认同)
  • 开发环境应该是统一的(并且是同类中最好的,但这不是这里的主题)。如果您的应用程序针对多个环境,请在多个环境中*测试*。最好通过一个单独的测试团队。 (3认同)
  • @DavidSchwartz - 我想这取决于产品。如果它是一个将部署在多种不同环境中的应用程序,那么是的,异构开发环境是好的。如果他们在内部 Web 应用程序或 SaaS 类型产品上进行开发,那么您希望 dev 尽可能匹配生产。 (2认同)

Ril*_*ndo 8

为什么不同时在他们的工作站上开发并在共享开发服务器上测试?

如果担心数据丢失,您始终可以在开发服务器上运行虚拟机,制作机器快照并让开发人员更新该虚拟机上的代码。更糟糕的情况是,您始终可以将 VM 恢复到以前的备份。