【问题标题】:Simplify development environment setup简化开发环境设置
【发布时间】:2016-06-07 20:01:31
【问题描述】:

每当新人开始从事我们的项目时,他们都需要在他们的计算机上设置开发环境 Windows OS 运行在上面。这包含:

  • Java
  • Eclipse 作为 IDE
  • 雄猫
  • 马文
  • MySQL
  • ...也许还有其他一些工具

这需要时间(因为下载和安装)并且有些人会遇到问题(例如因为误解设置指南)

是否可以简化或自动化此类开发环境设置?我的想法是创建一种捆绑包并将其交付给开发人员。如果还需要安装一些软件也没关系。

我在这里How to automate development environment setup? 发现了这个问题,但是:

  1. 如果可能的话,我想在不使用虚拟机的情况下找到解决方案
  2. 这个问题来自 2009 年。也许过去 7 年情况发生了变化。

提前谢谢你

更新

刚刚找到两个对我来说看起来不错的工具。我会试试 boxstarter 和 Chocolatey。

【问题讨论】:

  • 我认为微软会说 Windows Azure 就是答案。
  • @buffjape ???你能解释更多吗?
  • 看看Docker。
  • @AndreaM 我做到了。不只是创建容器吗?我在 Windows 上安装它也遇到了问题。正如我在更新中所写:刚刚找到了两个工具 boxstarter 和 Chocolatey,明天会试用
  • 抱歉,我对 Azure 了解不多。无论如何,这个问题对于 stackoverflow 来说似乎太宽泛了。

标签: development-environment


【解决方案1】:

我试过chocolatey(我在问题的更新中提到过)。它实际上做了我想要的。

我只需要创建一个包含我需要安装和运行的整个软件的脚本。

还有很多其他的好东西。试试吧。

对我来说唯一要做的事情是找出巧克力和 boxstarter 之间的区别。如果我理解正确,您可以从远程服务器启动 boxstarter 脚本。但我不需要这个。

【讨论】:

  • 这并不能解决你的环境配置问题。你如何使用 Chocolatey 安装和配置 Eclipse 插件?只是复制一个 Eclipse 配置仍然是最简单的方法。
  • @tak3shi 是的,这仍然是有待解决的问题。是的,我考虑过复制 eclipse 配置。但这应该创建一次。这意味着:在其机器上安装开发人员所需的一切。配置一次eclipse(或其他软件)并尽可能存储配置。下次只需复制配置即可。为了简化我会在定义的文件夹中安装的东西
【解决方案2】:

在我看来,这更像是一个行政主题。

如果您走这条路向您的同事/开发人员提供数据包,您可能希望向您的整个公司提供数据包。

有很多软件可以帮助您实现这一目标。此软件类型称为 系统管理软件 (SMS)

在我们公司我们使用SCCM

我们公司足够大,大约有 20 个部门。

每个部门都有自己的专用软件包,所有部门都有一些标准软件(例如 MS-Office)

手动管理所有这些程序将是一项巨大的工作。

也许这也是贵公司的解决方案

【讨论】:

    【解决方案3】:

    我认为,当您安装了所有必要的软件时,软件开发环境的设置并没有结束。好的,你已经安装了一切,很好。但是您必须进行大量配置,例如,如果您想从 IDE 使用本地数据库,则必须对其进行配置。我想这是最难的部分——它取决于安装的软件提供什么样的 API 来配置它们(我认为它很差)。

    另一件事是整个过程应该集成到贵公司的访问策略中,例如特定开发人员可以访问哪些存储库。

    所以我会说可以解决所有这些问题的工具将是解决方案,但由于 API 限制和许多其他原因,我们还远远没有做到。

    【讨论】:

      【解决方案4】:

      这个问题主要取决于你想要达到什么。
      下载时间之类的事情是您无法避免的。 您当然可以预先下载它们,然后通过您的网络或 USB 驱动器 w/e 分发它们,但这意味着您应该注意定期更新这些文件。

      最简单的事情肯定是某种虚拟化:您设置好所有东西,然后您的开发人员只需启动该 VM。

      如果没有,您需要某种数据包管理。在 Debian 上,您需要一个 apt-get 命令来设置所有内容,但这超出了您的限制。

      您绝对应该寻找的是可移植版本(本质上是指:不依赖于注册表的软件),因为它们是开箱即用的。您只需要将它们放在目标系统上。

      除此之外,许多安装程序还支持某些命令行界面。例如,Netbeans 就有。尝试从命令行启动像 installer.exe /? 这样的安装程序,看看会发生什么。
      你想寻找像quietyes (to all)这样的选项

      当你拥有它们时,你会创建一个批处理文件,它会一个接一个地执行它们。 便携式版本只是复制命令。

      【讨论】:

        【解决方案5】:

        我发现您提到的工具实际上不需要通过运行程序来“安装”。所有这些都可以被复制到一个目录中,然后直接运行。我只需将它们从一台机器复制到另一台机器,确保文件夹是标准化的,并使用脚本来启动各种组件。特别是使用 Java、Tomcat 和 Eclipse(以及 Git),我可以在几分钟内部署到另一台机器。

        【讨论】:

        • 嗯... MySQL 也一样?而且您必须使整个软件保持最新。 Windows注册表等等。当然,如果您将使用便携式应用程序,它会工作,但是...
        • 请参阅dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html 了解有关在没有安装脚本的情况下运行 MySQL 的信息。
        【解决方案6】:

        行业标准与 Chefdk、Vagrant、Virtualbox 这些软件一起使用。

        【讨论】:

          【解决方案7】:

          如果您对 Windows 命令行 cmd 有很好的体验,您可以通过创建 install.bat 来做到这一点,其中包含在每个安装文件上运行安装程序的脚本。例如,创建一个目录并下载您所需的所有材料,如javaEclipse IDE 和其他工具,然后将您的setup.bat 包含在其中。将其压缩并发送给您喜欢的任何人。

          【讨论】:

          • 我前段时间试过了。但这太复杂了。而且您必须将您的 zip-“包”更新为最新。你读过我的回答吗? Chocolatey 满足我的一切需求:下载并安装开发人员所需的一切
          【解决方案8】:

          我有一个磁盘映像,克隆它并在之后更改用户权限,或者将管理员用户留给自己并为目标用户创建一个新用户。

          【讨论】:

          • 保持整个软件更新仍然存在问题
          • 在大多数 Linux 发行版中,这只是一行命令,在 Windows 中......为什么开发人员在 Windows 中工作?请不要强迫他们这样做。
          • @fd8s0 您如何确保您开发的软件可以在 Windows 或 IE 中安装和运行?
          • 停止这样做?我敢肯定有些人的工作包括窗户,对不起。但是对于现在的大多数事情,你不会,除非你在游戏中工作。即使它包含用于更新的专有包管理器,我个人仍然会在 Windows 中制作图像。尽管在编程中,您通常不想总是更新所有内容,而是想要某些东西的特定版本
          【解决方案9】:

          Gitpod.io 将自动化开发环境作为服务提供。它不仅提供基于 Docker 的全功能终端,还预构建了您的 git 分支,因此您可以立即编写代码。

          不过,IDE 基于 Eclipse Theia IDE。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-09-05
            • 2011-08-31
            • 1970-01-01
            相关资源
            最近更新 更多