Space
The intelligent code collaboration platform
Space is pivoting to SpaceCode, focused on Git hosting and code reviews. Learn more →
Публикации и ответы на комментарии в блогах JetBrains не выходят на русском языке с 2022 года.
Приносим извинения за неудобства.
Представляем решение для удаленной разработки с помощью Space
Возможно, вы уже слышали большую новость: мы выпустили решение для удаленной разработки в IDE JetBrains.
Его основная идея заключается в том, чтобы помочь разработчикам преодолеть ограничения локальных машин и слабых ноутбуков для более эффективной работы и экономии времени.
Чтобы этого добиться, мы решили разделить фронтенд и бэкенд IDE. На локальном компьютере установлен только клиент, который отображает интерфейс IDE и взаимодействует с удаленным бэкендом. Удаленный бэкенд отвечает за все ресурсозатратные операции с исходным кодом: построение индексов и синтаксического дерева, работу автодополнения, рефакторингов и т. п.
Что можно использовать в качестве удаленного бэкенда? Есть несколько вариантов, но конечно же, мы предлагаем свое решение для удаленного размещения бэкендов наших IDE и рады представить облачные среды разработки в JetBrains Space!
Удаленная разработка в облачных средах Space позволит вам:
- Ускорить адаптацию новых членов команды с помощью заранее настроенных стандартизированных сред.
- Быстро готовить IDE к работе, используя сохраненные образы.
- Централизованно управлять средами разработки.
- Экономить ресурсы благодаря автоматической гибернации сред разработки.
- Работать над несколькими задачами одновременно.
- Работать над кодом вместе с коллегами.
В этом посте мы хотим подробнее рассказать об облачных средах Space.
Что такое облачная среда разработки
Облачная среда разработки представляет собой выделенную виртуальную машину с запущенным Docker-контейнером, который имеет доступ к исходному коду проекта и передает бэкенд-компоненты в редактор, работающий на вашем компьютере. Контейнер размещается на том же движке, который используется в Space Automation. Подробнее о том, как это работает, читайте в документации.
Преимущества Space для удаленной разработки
Мы создавали Space как универсальное решение для команд разработки, которое охватывает все этапы создания ПО: от хостинга Git-репозиториев и автоматизации CI/CD-пайплайна до публикации пакетов.
С сегодняшнего дня функциональность Space распространяется и на процессы удаленной разработки: можно автоматически управлять удаленными средами разработки на облачных виртуальных машинах.
Готовое решение для удаленной разработки, созданное в JetBrains
Создавайте облачные среды, администрируйте их и подключайте к IDE JetBrains, чтобы вы и ваши коллеги могли быстро приступать к работе откуда угодно.
Возможности удаленной разработки уже поддерживаются в IntelliJ IDEA Ultimate и во Fleet — IDE следующего поколения, которую мы представляем в этом релизном цикле. Скоро поддержка появится в PyCharm, GoLand, WebStorm, CLion и других IDE JetBrains.
В этой статье мы подробнее рассказываем о возможностях удаленной разработки с инструментами JetBrains.
Экономичное решение
Space позволяет выбрать виртуальную машину, соответствующую размерам вашего проекта, и автоматически переводит среду разработки в режим гибернации после 30 минут бездействия — для экономии ресурсов и снижения затрат. Информацию о ценах и типах виртуальных машин вы найдете на нашем сайте.
Надежная защита кода
Все виртуальные машины, на которых запускаются рабочие пространства, изолированы друг от друга: на одной машине можно запустить только одну среду. Виртуальные сети сред разработки также изолированы. Ваша среда разработки — это своего рода временная Git-ветка, позволяющая быстро вносить изменения, избегая типичных неудобств постоянной локальной среды, и вы можете просто удалить ее по завершении работы.
Гибкие возможности аутентификации и авторизации
Благодаря гибкой настройке прав доступа для отдельных проектов легко указать, кто имеет право использовать рабочие пространства вашего проекта и управлять ими.
Какие функции уже доступны
- Готовые к использованию среды с заданными настройками
Поскольку облачные среды работают в Docker-контейнерах, вы можете установить все необходимые для вашего проекта библиотеки и инструменты с помощью файла Dockerfile. Если в вашем проекте нет файла ./.fleet/Dockerfile, Space будет использовать образ контейнера по умолчанию. Это гарантирует, что все члены команды смогут работать в одинаковой среде, и упрощает процесс адаптации новичков: они смогут приступать к работе практически сразу, так как им не придется ничего настраивать на своем компьютере.
- Подготовка рабочей среды
Это самое интересное! Space позволяет полностью подготовить бэкенд к работе: клонирует Git-репозиторий, индексирует проект и загружает зависимости — словно кто-то пришел в офис за час до вас, включил компьютер, открыл проект в IDE и все сделал заранее. А вы можете начать свой день с чего-то более приятного и программировать в IDE, на 100% готовой к работе.
Подготовка осуществляется с помощью Space Automation. Добавьте задание автоматизации в файл .space.kts, поместите в него скрипты для подготовки среды и запустите. Вы даже можете настроить ежедневный запуск по расписанию. Подробнее о том, как подготовить среду разработки, читайте в документации.
- Совместный доступ к рабочей среде
Отправьте ссылку на среду разработки своим коллегам, и они смогут открыть ее в своей IDE, просмотреть ваш код, запустить и отладить его (пока эта возможность поддерживается только во Fleet).
- Режим гибернации
Если среда разработки не используется более 30 минут, она автоматически переходит в режим гибернации: контейнер прекращает работу, а соответствующая виртуальная машина освобождается. Все несохраненные изменения сохраняются в хранилище среды разработки. Когда вы возвращаетесь к работе, среда восстанавливается с тем же самым подключенным хранилищем. Гибернация гарантирует, что вы не будете платить за неиспользуемые ресурсы.
- Поддержка в IDE JetBrains
Сейчас есть два способа работы с удаленными средами Space:
- IntelliJ IDEA с JetBrains Gateway (можно установить через Toolbox App). IntelliJ IDEA устанавливается локально и подключается к удаленной среде разработки с помощью инструмента запуска JetBrains Gateway. На данный момент только IntelliJ IDEA поддерживает удаленные среды разработки Space. Но скоро к ней присоединятся и другие наши IDE на платформе IntelliJ — будем держать вас в курсе.
- JetBrains Fleet — IDE следующего поколения, разработанная нами с нуля. В ее основе движок IntelliJ, распределенная модель архитектуры и новая концепция интерфейса. Возможности удаленной и совместной разработки занимают во Fleet особое положение.
- Масштабируемость
Для оптимизации расходов на вычислительные ресурсы вы можете выбрать тип виртуальной машины, соответствующий размеру вашего проекта. Мы предлагаем три типа машин: Regular (4 ядра ЦП, 8 ГБ ОЗУ), Large (8 ядер ЦП, 16 ГБ ОЗУ) и Extra Large (16 ядер ЦП, 32 ГБ ОЗУ).
Что дальше
- Поддержка в других IDE
Помимо IntelliJ IDEA Ultimate и Fleet, мы планируем добавить поддержку удаленной разработки в PyCharm, GoLand, WebStorm, CLion и другие IDE на базе IntelliJ.
- Совместный доступ к средам для разработчиков веб-приложений
Представим, что вы разрабатываете веб-приложение и хотите, чтобы кто-то из команды протестировал ваши последние изменения. Как правило, если вы пишете код на локальном компьютере, вам надо сделать коммит и пуш изменений, а также подготовить тестовую среду в локальной сети. В облачной среде разработки все, что вам нужно сделать, это собрать и запустить приложение. Вы можете поделиться ссылкой с коллегами, и все, у кого есть ссылка, получат доступ к веб-приложению без аутентификации.
- Поддержка нескольких Git-репозиториев
Пока что среда разработки может работать только с одним проектным репозиторием.
- И еще:
- Расширенные настройки совместного доступа — несколько способов отправки приглашений и список гостей.
- Предоставление секретов пользователей облачной среде разработки.
- Поддержка формата Devfile для описания рабочего пространства среды разработки.
- Управление ресурсами среды разработки на уровне организации и проекта с поддержкой квот на ресурсы.
- Локальное размещение сред разработки.
- Аудиты безопасности и многое другое.
Как начать работу с облачными средами
Все, что вам нужно, — это установить на свой компьютер JetBrains Fleet или JetBrains Gateway и иметь проект, размещенный в Space. Вот подробные инструкции:
- Начало работы в облачной среде
- Подготовка облачной среды для проекта
- Создание зеркала Git-репозитория в Space для использования облачной среды с существующим репозиторием.
Если у вас возникнут какие-либо проблемы со средами разработки в Space, свяжитесь с нашей командой поддержки.
Что думаете об облачных средах разработки в Space? Делитесь своими мыслями в комментариях, мы будем рады вашим отзывам.
Ваша команда JetBrains
The Drive to Develop
Автор оригинальной статьи: