简化开发环境设置

Simplify development environment setup

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

这需要时间(因为下载和安装)而且有些人会遇到问题(例如因为错过安装指南)

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

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

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

提前致谢

更新

刚找到两个我觉得不错的工具。我会试试 boxstarter 和 chocolatey。

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

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

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

您绝对应该寻找的是便携版本(本质上意味着:不依赖于注册表的软件),因为那些 运行 开箱即用。您只需要将它们放在目标系统上即可。

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

等选项

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

我尝试了 chocolatey(我在问题的更新中提到过)。它确实满足了我的需求。

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

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

我唯一要做的就是找出巧克力和 boxstarter 之间的区别。如果我没理解错的话,您可以从远程服务器启动 boxstarter 脚本。但我不需要这个。

在我看来,这更像是一个管理主题。

如果您走这条路是为了在 coworkers/developers 之上传送数据包,您可能希望向整个公司提供数据包。

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

我们公司使用SCCM

我们公司很大,大概有20个部门。

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

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

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

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

Chefdk、Vagrant、Virtualbox 等软件符合行业标准。

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

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

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

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

所以我想说一个可以解决所有这些问题的工具将是解决方案,但由于 API 限制和许多其他原因,我们离那个还很远。

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

不过 IDE 基于 Eclipse Theia IDE。