language-agnostic - 在虚拟机中运行我的开发工具的建议

标签 language-agnostic development-environment virtualization

每次我需要移动到一台新机器,或者买一台笔记本电脑,或者通过不断的安装和卸载搞砸我的注册表时,我开始变得非常厌烦和厌倦设置我的所有开发工具。

这么新的计划。我听说有人虚拟化他们的开发环境,这听起来是个好主意。唯一的问题是我对运行虚拟机的经验很少,所以当我不知道时,我会做我经常做的事情,我问stackoverflow。

您是否在虚拟机中运行您的开发环境?我应该注意什么?有哪些不明显的优势?

我已经在我公司的 Active Directory 域中的带有 XP 的 Dell Optiplex 760 上安装了免费版本的 VMWare 服务器。

我在其中创建了一个名为 Dev Tools 并安装了 XP 的 25 gig VM,它不在任何域中。这就是 Visual Studio、TortoiseSVN、Git、Ruby、Toad 等的发展方向。我还将创建一个用于存储代码文件的虚拟磁盘。

还有一些问题:

  • 我应该在主机上进行日常网络浏览还是应该为它启动另一个虚拟机?在决定是将非开发应用程序(如 GIMP)安装到主机还是新 VM 时,使用的经验法则是什么?
  • 我的开发数据库呢?那应该有自己的虚拟机吗?
  • 物理硬盘的最佳安排是什么?我应该避免将主机和客户端虚拟机放在同一个虚拟机上吗?我正计划购买 SSD - 我如何优化这将提供的速度?
  • 在没有管理员权限的情况下开发 .NET 很麻烦,但我是否应该在主机上以管理员身份运行?
  • 备份我的 25 gig 开发工具机器有什么好的解决方案吗?您多久进行一次备份?我不想在一年后恢复它并且不得不花几天时间更新那里的每个应用程序。
  • 最佳答案

    我发现使用 VM 操作系统而不是基本操作系统进行开发是非常可取的。能够在运行良好时轻松备份整个开发环境,并在发生可怕的事情时在 5 分钟内恢复它,真是一种解脱。

    我们的团队使用安装了所有开发人员工具的引用 VM。新开发人员将获得引用 VM 的副本,并可以随意使用它。我们使用了一个包含 IDE、客户端、应用服务器和数据库服务器的虚拟机,因为这让一切变得更加简单。我认为将这些放在不同的 VM 中不会提供任何优势。

    对于 Web 浏览,我发现是在 VM 上还是在基本操作系统上进行浏览并不重要——大多数时候我只会使用 VM。至于自定义应用程序,它们通常安装在基本操作系统上。有几次,团队成员(包括我自己)遇到问题或犯了一些错误,导致他们的开发环境的某些部分搞砸了。我们无需花费数小时来解决问题,而只需再次获取引用 VM,更新代码,然后重新开始。因此,最好不要与 VM 过于紧密地联系在一起——在基础操作系统上安装自定义应用程序并将重要内容保存到基础或网络驱动器中,这样可以快速更换。

    关于language-agnostic - 在虚拟机中运行我的开发工具的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1975932/

    相关文章:

    iphone - 注册越狱的开发设备

    virtualization - 在虚拟机、VMWare 或 Parallels 上使用 CPU 的 guest 系统中使用 OpenCL?

    linux - 了解 x2APIC 的虚拟 APIC 页面

    java - 二叉树遍历时跳过节点

    c - C 库开发的虚拟环境

    c - 使用链接列表并删除节点或使用数组并对字符串进行小计算以查看是否可以跳过元素是否更有效?

    ruby-on-rails - RAILS_ENV 未按预期工作。如何设置环境?

    linux - 对不受信任的源代码的编译和执行进行沙箱化的架构

    algorithm - 向非技术人员解释 AdaBoost 算法

    language-agnostic - 是否有用于加权储层采样的算法?