Жизненный цикл Codespace

Завершено

GitHub Codespaces можно настроить, что позволяет создать настраиваемую среду разработки для проекта. Настраивая настраиваемую среду разработки для проекта, можно иметь повторяемую конфигурацию Codespace для всех пользователей проекта.

Жизненный цикл Codespace начинается при создании пространства кода и заканчивается при его удалении. Вы можете отключить и повторно подключиться к активному пространству Codespace, не затрагивая выполняемые процессы. Вы можете остановить и перезапустить пространство Codespace без потери изменений, внесенных в проект.

Схема циклического жизненного цикла пространства Кода, начинающегося с создания и окончания удаления.

Создание пространства кода

Пространство кода можно создать на GitHub.com, в Visual Studio Code или с помощью интерфейса командной строки GitHub. Существует четыре способа создания пространства codespace:

  • Из шаблона GitHub или любого репозитория шаблонов на GitHub.com, чтобы запустить новый проект.
  • Ветвь в репозитории для новой функции.
  • Из открытого запроса на вытягивание для изучения хода выполнения работы.
  • Из фиксации в журнале репозитория для изучения ошибки в определенный момент времени.

Вы можете временно использовать пространство Codespace для тестирования кода или вернуться в то же пространство Codespace для работы с длительными функциями.

Вы можете создать несколько пространств Кода для каждого репозитория или даже для каждой ветви. Однако существуют ограничения на количество пространств кода, которые можно создавать и запускать одновременно. Когда вы достигнете максимального количества пространств кода и пытаетесь создать другое, отображается сообщение. В сообщении сообщается, что существующее пространство кода необходимо удалить или удалить перед созданием нового пространства Кода.

Вы можете создать новое пространство Codespace каждый раз, когда вы разрабатываете в GitHub Codespaces или сохранить длительное пространство Кода для функции. При запуске нового проекта создайте пространство Codespace из шаблона и опубликуйте его в репозитории на GitHub позже.

При создании нового пространства Codespace каждый раз, когда вы работаете над проектом, следует регулярно отправлять изменения, чтобы убедиться, что все новые фиксации находятся на GitHub. При использовании длительного пространства кода для нового проекта извлекаете из ветвь по умолчанию репозитория каждый раз, когда вы начинаете работать в Codespace, чтобы позволить вашей среде получать последние фиксации. Рабочий процесс аналогичен работе с проектом на локальном компьютере.

Администраторы репозитория могут включить предварительные сборки GitHub Codespaces для репозитория, чтобы ускорить создание пространства Codespace.

Подробное пошаговое руководство и пошаговые инструкции см . в руководстве по созданию кода с помощью GitHub Codespaces и разработки в пространстве code, расположенном в сводном уроке в конце этого модуля.

Процесс создания пространства кода

Схема пространства кода GitHub и его подключение из редактора кода и контейнера Docker.

При создании пространства codespace GitHub выполняются четыре процесса:

  1. Виртуальная машина и хранилище назначаются вашему пространству Codespace.
  2. Создается контейнер.
  3. Подключение к пространству codespace выполняется.
  4. Выполняется настройка после создания.

Сохранение изменений в пространстве codespace

При подключении к пространству кода через Интернет автосохранение автоматически включается для сохранения изменений после определенного периода времени. При подключении к пространству codespace через Visual Studio Code, работающем на рабочем столе, необходимо включить автосохранение.

Работа сохраняется на виртуальной машине в облаке. Вы можете закрыть и остановить пространство codespace и вернуться к сохраненной работе позже. Если у вас есть несохраненные изменения, вы получите запрос на сохранение их перед выходом. Однако если пространство кода удалено, то ваша работа будет потеряна. Чтобы сохранить работу, необходимо зафиксировать изменения и отправить их в удаленный репозиторий или опубликовать работу в новую, если вы создали пространство Codespace из шаблона.

Открытие существующего пространства кода

Вы можете повторно открыть любое из активных или остановленных пространств Codespace в GitHub.com в интегрированной среде разработки JetBrains, в Visual Studio Code или с помощью интерфейса командной строки GitHub.

Чтобы возобновить существующее пространство codespace, можно перейти в репозиторий, в котором существует пространство codespace, выберите , ключ и нажмите кнопку "Возобновить это пространство кода". Также можно открыть https://github.com/codespaces в браузере, выбрать репозиторий и выбрать существующее пространство Codespace.

Время ожидания для пространства кода

Если пространство codespace неактивно или если вы выходите из пространства Codespace без явной остановки, приложение истекает после периода бездействия и перестает работать. Время ожидания по умолчанию — через 30 минут бездействия. Когда время ожидания codespace истекло, данные сохраняются с момента последнего сохранения изменений.

Подключение к Интернету при использовании GitHub Codespaces

Для пространства кода требуется подключение к Интернету. Если подключение к Интернету потеряно во время работы в Codespace, вы не сможете получить доступ к пространству Codespace. Однако все незафиксированные изменения сохраняются. При повторном подключении к Интернету можно получить доступ к пространству Codespace в том же состоянии, в которое оно осталось при потере подключения.

Если у вас есть нестабильное подключение к Интернету, вы должны часто зафиксировать и отправить изменения.

Закрытие или остановка пространства кода

Если вы выходите из пространства кода, не выполняя команду остановки или покидаете пространство кода без взаимодействия, пространство Codespace и его выполняемые процессы продолжаются в течение периода времени ожидания бездействия. Период времени ожидания бездействия по умолчанию составляет 30 минут. Вы можете определить свой личный параметр времени ожидания для создаваемых пространств Codespace, но политика времени ожидания организации может переопределит этот параметр.

Плата за ЦП взимается только при выполнении пространств codespace. Остановленное пространство Codespace несет только затраты на хранение.

Чтобы применить изменения, можно остановить и перезапустить пространство кода. Например, если изменить тип компьютера, используемый для пространства кода, необходимо остановить и перезапустить его, чтобы изменения вступили в силу. При закрытии или остановке пространства Codespace все незафиксированные изменения сохраняются до тех пор, пока не подключитесь к пространству Codespace еще раз.

Вы также можете остановить codespace и выбрать перезапуск или удалить его, если возникла ошибка или что-то непредвиденное.

Перестроение пространства кода

Вы можете перестроить пространство Codespace для реализации изменений в конфигурации контейнера разработки. В большинстве случаев можно создать новое пространство Codespace в качестве альтернативы перестроению пространства кода. При перестроении пространства кода образы из кэша ускоряют процесс перестроения. Вы также можете выполнить полную перестройку, чтобы очистить кэш и перестроить контейнер с помощью свежих образов.

При перестроении контейнера в пространстве Codespace изменения, внесенные за пределами /workspaces каталога, очищаются. Изменения, внесенные /workspaces в каталог, включая клон репозитория или шаблон, из которых вы создали пространство Codespace, сохраняются при перестроении.

Удаление пространства кода

Пространство кода для конкретной задачи можно создать. После отправки изменений в удаленную ветвь можно безопасно удалить это пространство Codespace.

Если вы пытаетесь удалить пространство codespace с неотложенными фиксациями Git, редактор уведомляет вас о том, что у вас еще нет изменений, которые еще не отправлены в удаленную ветвь. Вы можете отправить все необходимые изменения и удалить пространство Codespace. Вы также можете продолжать удалять пространство Codespace и любые незафиксированные изменения или экспортировать код в новую ветвь без создания нового пространства Кода.

Остановленные пространства кода, которые остаются неактивными в течение указанного периода времени, удаляются автоматически. Неактивные пространства кода удаляются через 30 дней, но можно настроить интервалы хранения в Codespace.