Approach (A)
From my experience I saw that for a small team there's a dedicated server with all development tools (e.g. compiler, debugger, editor etc.) installed on it. Testing is done on dedicated per developer machine.
根据我的经验,我看到一个小团队有一个专用服务器,上面安装了所有开发工具(例如编译器,调试器,编辑器等)。测试在专用的每台开发人员机器上完成。
Approach (B)
On my new place there's team utilizing a different approach. Each developer has a dedicated PC which is used both as development and testing server. For testing an in-house platform is installed on the PC to run application over it. The platform executes several modules on kernel space and several processes on user space.
在我的新地方,团队采用不同的方法。每个开发人员都有一台专用PC,可用作开发和测试服务器。为了测试,在PC上安装了内部平台以在其上运行应用程序。该平台在内核空间上执行多个模块,在用户空间上执行多个进程。
Problem
Now there are additional 2 small teams (~ 6 developers at all) joining to work on the exactly same OS and development environment. The teams don't use the mentioned platform and can execute application over plain Linux, so no need in dedicated machine for testing. We'd like to adopt approach (A) for all 3 teams, but the server must be stable and installing on it in-house platform, described above, is highly not desirable.
现在还有2个小团队(大约6个开发人员)加入到完全相同的操作系统和开发环境中。团队不使用上述平台,可以通过普通Linux执行应用程序,因此无需在专用机器上进行测试。我们想对所有3个团队采用方法(A),但服务器必须稳定,并且如上所述在其上安装内部平台是非常不可取的。
What would you advise? What is practice for development environmentin your place - one server per team(s) or dedicated PC/server per developer?
你会提出什么建议?什么是您所在地的开发环境实践 - 每个团队一个服务器或每个开发人员的专用PC /服务器?
Thanks Dima
1 个解决方案
#1
We've started developing on VMs that run on the individual developers' computers, with a common subversion repository.
我们已经开始开发在各个开发人员的计算机上运行的虚拟机,并具有一个通用的subversion存储库。
Benefits:
-
Developers work on multiple projects simultaneously; one VM per project.
开发人员同时处理多个项目;每个项目一个VM。
-
It's easy to create a snapshot (or simply to copy the VM) at any time, particularly before those "what happens if I try something clever" moments. A few clicks will restore the VM to its previous (working) state. For you, this means you needn't worry about kernel-space bugs "blowing up" a machine.
在任何时候创建快照(或简单地复制VM)都很容易,特别是在那些“如果我尝试一些聪明的事情会发生什么”之前。只需单击几下,即可将VM恢复到之前的(工作)状态。对你来说,这意味着你不必担心内核空间错误会“炸毁”一台机器。
-
Similarly, it's trivial to duplicate one developer's environment so, for example, a temporary consultant can help troubleshoot. Best-practices warning: It's tempting to simply copy the VM each time you need a new development machine. Be sure you can reproduce the environment from your repository!
同样,复制一个开发人员的环境也很简单,例如,临时顾问可以帮助排除故障。最佳实践警告:每次需要新的开发机器时,只需复制VM即可。确保您可以从存储库重现环境!
-
It doesn't really matter where the VMs run, so you can host them either locally or on a common server; the developers can still either collaborate or work independently.
虚拟机运行的位置并不重要,因此您可以在本地或在公共服务器上托管它们;开发人员仍然可以协作或独立工作。
Good luck — and enjoy the luxury of 6 additional developers!
祝你好运 - 享受6位额外开发者的奢侈!
#1
We've started developing on VMs that run on the individual developers' computers, with a common subversion repository.
我们已经开始开发在各个开发人员的计算机上运行的虚拟机,并具有一个通用的subversion存储库。
Benefits:
-
Developers work on multiple projects simultaneously; one VM per project.
开发人员同时处理多个项目;每个项目一个VM。
-
It's easy to create a snapshot (or simply to copy the VM) at any time, particularly before those "what happens if I try something clever" moments. A few clicks will restore the VM to its previous (working) state. For you, this means you needn't worry about kernel-space bugs "blowing up" a machine.
在任何时候创建快照(或简单地复制VM)都很容易,特别是在那些“如果我尝试一些聪明的事情会发生什么”之前。只需单击几下,即可将VM恢复到之前的(工作)状态。对你来说,这意味着你不必担心内核空间错误会“炸毁”一台机器。
-
Similarly, it's trivial to duplicate one developer's environment so, for example, a temporary consultant can help troubleshoot. Best-practices warning: It's tempting to simply copy the VM each time you need a new development machine. Be sure you can reproduce the environment from your repository!
同样,复制一个开发人员的环境也很简单,例如,临时顾问可以帮助排除故障。最佳实践警告:每次需要新的开发机器时,只需复制VM即可。确保您可以从存储库重现环境!
-
It doesn't really matter where the VMs run, so you can host them either locally or on a common server; the developers can still either collaborate or work independently.
虚拟机运行的位置并不重要,因此您可以在本地或在公共服务器上托管它们;开发人员仍然可以协作或独立工作。
Good luck — and enjoy the luxury of 6 additional developers!
祝你好运 - 享受6位额外开发者的奢侈!