News

为您介绍 Space 远程开发

Read this post in other languages:
English, Français, 日本語, 한국어, Deutsch, Português do Brasil, Русский, Español

 您可能已经听说了来自 JetBrains 的重大新闻——JetBrains IDE 的远程开发解决方案。 

这背后的主要想法是帮助您克服本地机器或笔记本电脑速度慢的限制,使开发人员可以更高效地工作、节省时间并为项目做出更多贡献。

考虑到这一目标,我们决定将 IDE 的前端和后端分开。 安装在本地计算机上的唯一软件是渲染 IDE 用户界面并与远程后端通信的客户端。 远程后端将负责所有重量级的源代码操作,例如构建索引和语法树,提供代码补全和重构等功能。

您可以使用什么作为远程后端? 有多种选择,但我们相信我们自己为 JetBrains IDE 远程后端提供了最好的支持。 我们很高兴宣布 JetBrains Space 中的云开发环境! 

利用 Space 开发环境,您可以建立一个远程开发流程,可以做到:

  • 使用标准化环境加速入门。
  • 利用预构建的快照在几秒钟内获得即用型 IDE。
  • 集中管理开发环境。 
  • 通过自动休眠的开发环境节省资源。
  • 同时处理多项任务。
  • 与队友协作编写代码。

阅读此博文详细了解 Space 开发环境以及如何使用它的功能。

什么是开发环境(dev environment)

这里所谓的开发环境是一个带有 Docker 容器的专用虚拟机,可以访问项目源代码,并为您的本地代码编辑器提供后端组件。 该容器由 Space Automation 中使用的相同引擎托管。 阅读这篇文章了解工作原理的更多信息。

Space cloud dev environments

为什么选择 Space 进行远程开发?

Space 是我们为软件团队和项目创建的一体化解决方案。从托管 Git 仓库和自动执行 CI/CD 管道到发布软件包,整个开发生命周期都由它负责。 

从今天开始,为了帮助您覆盖你的远程软件开发工作流程,Space允许您将远程开发环境作为云中的虚拟机自动管理。

JetBrains 打造的整体远程开发管道

通过 Space,您可以配置、启动、重现和管理开发环境,连接到 JetBrains 的 IDE,并在几秒钟内开始编码。 

IntelliJ IDEA Ultimate 和 Fleet (JetBrains 打造的下一代 IDE)已经支持使用 Space 开发环境进行远程开,PyCharm、GoLand、WebStorm、CLion 和其他 JetBrains IDE 也将很快支持。

阅读这篇博文,了解更多关于 JetBrains 的远程开发解决方案。

经济实惠的解决方案

Space 可以帮助您优化运行远程开发环境的成本,提供适合您项目规模的虚拟机,并在非活动状态持续 30 分钟后自动休眠不活动的开发环境。 了解更多关于开发环境的定价计划和可用的虚拟机类型。

确保代码安全可靠

运行编码工作区的所有虚拟机都彼此独立,一台虚拟机不能运行多个环境。 开发环境的虚拟网络也是分隔开的。 将您的开发环境视为一个短暂的 Git 分支,免去搭建永久性本地开发环境的纷乱, 完成后只需将其删除即可。

灵活验证和授权

借助基于项目的灵活权限配置,您只需要配置谁有权使用和管理项目的编码工作区。

Space 开发环境中已经支持什么功能?

  • 预先配置的可重现环境

由于开发环境在 Docker 容器中运行,您可以使用 Docker 文件来安装项目所需的所有工具和库。 如果您的项目中没有 ./.fleet/Dockerfile 文件,Space 将使用默认的容器镜像。 这确保您的开发环境在整个团队中是一致的,并简化了新开发人员的入职体验。 他们几乎可以立即开始开发,因为他们不需要为项目准备本地机器。

Active Space dev environment
  • 预热您的开发环境

这是最棒的部分了! Space 让您为工作准备后端、克隆 Git 存储库、建立项目索引,并为您解决依赖性问题。 这仿佛有人比您早一个小时来到办公室,帮您打开您的电脑,在 IDE 中打开项目,并为您准备好一切。 因此,您可以开始美好的一天,并立即在完全就绪的 IDE 中开始工作。
预热功能是在 Space Automation 的帮助下进行的。 在项目的 .space.kts 文件中添加一个预热作业,把所有需要的预热脚本放到该作业中,然后运行它。 您甚至可以安排它每天运行。 阅读这篇文章了解如何预热开发环境。

Space dev environment warmup snapshot
  • 共享某个开发环境

您可以向同事发送您开发环境的链接,让他们在他们的 IDE 中打开您的开发环境,或查看、运行并调试您的代码(目前只适用于Fleet)。

Sharing a Space dev environment
  • 开发环境休眠

如果一个开发环境超过 30 分钟没有被使用,它将自动休眠——容器会被关闭,相应的虚拟机会被释放。 所有未保存的变化都会被保存到开发环境的存储器中。 当您准备再次开始工作时,可以使用安装的完全相同的存储来恢复环境。 开发环境的休眠确保您不会因为未使用资源而产生费用。

Space dev environment hibernation
  • JetBrains IDE 支持

目前有两个可用选项:

  • IntelliJ IDEAJetBrains Gateway(可以通过 Toolbox App 安装)—— IntelliJ IDEA 在本地安装,并使用 JetBrains Gateway 启动器连接到开发环境。 在第一个版本中,Space 开发环境仅支持 IntelliJ IDEA。 对其他基于 IntelliJ 的 IDE 的支持正在开发中,请继续关注更新。
  • JetBrains Fleet(以早期预览提供)—— JetBrains 的下一代 IDE。 Fleet 从头构建,使用了 IntelliJ 代码处理引擎,具有分布式 IDE 架构和重新设计的 UI。 远程和协作工作流是 Fleet 的关键所在。
JetBrains Fleet
  • 可拓展性

为了适应您的项目规模和优化成本,您可以从三种实例类型中选择一种:Regular(4 个 CPU 内核,8 GB RAM)、Large(8 个 CPU,16 GB RAM)和 Extra Large(16 个 CPU 内核,32 GB RAM)。

未来的计划是什么?

  • 支持更多的 IDE

除了 IntelliJ IDEA Ultimate 和 Fleet,我们还计划支持 PyCharm、GoLand、WebStorm、CLion 和其他基于 IntelliJ 的 JetBrains IDE。

  • Web 应用开发者的开发环境共享

假设您正在开发一个 Web 应用程序,并希望您的团队中有人能测试您的最新变更。 通常情况下,如果您在本地机器上开发应用程序,您应该提交和推送更改,并在本地网络中准备一个预生产环境。 有了开发环境,您只需要构建和运行应用程序。 您可以创建一个可共享的链接,任何拥有该链接的人可以访问您的 Web 应用,而无需身份验证。

  • 支持多个 Git 仓库

目前,一个开发环境只能与一个项目库配对。

  • 其他功能
    • 高级共享选项,支持各种邀请流程和合作者/客人列表。
    • 为开发环境提供用户秘密。
    • 支持描述开发环境工作空间的 Devfile 格式。
    • 在组织和项目层面的开发环境资源管理,支持资源配额。
    • 企业内部的开发环境。
    • 安全审计和其他功能。

如何开始使用云开发环境进行开发

您只需要在您的机器上安装 JetBrains Fleet 或JetBrains Gateway,并在 Space 中托管一个项目。 按照这些详细说明操作:

Start developing remotely with Space and JetBrains IDEs

如果您在使用 Space 开发环境时有任何问题,请通过我们的网站提交请求,联系我们的支持团队。

您对 Space 的开发环境有什么看法? 请在下方评论区中与我们分享您的想法和反馈!

英文博文原作者:

Lei

Valerie Andrianova

Discover more