Skip to main content

Устранение неполадок при создании и удалении codespace

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

Создание codespace

Нет доступа для создания codespace

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

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

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

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

  • Владельцы организации и предприятия могут выбирать, к каким пользователям можно получить доступ GitHub Codespaces в частных и внутренних репозиториях организации. Дополнительные сведения см. в разделе Включение или отключение GitHub Codespaces для вашей организации.
  • Владельцы организации и предприятия могут отключить вилку для некоторых или всех частных и внутренних репозиториев организации. Если у вас есть только доступ на чтение к репозиторию, и вы не можете его закрепить, то нельзя создать пространство кода для этого репозитория. Для получения дополнительной информации см. Управление политикой ветвления для вашей организации.
  • Если у вас есть управляемая учетная запись пользователя, нельзя создавать пространства кода для личных репозиториев, если только репозиторий не является вилкой репозитория, принадлежащим организации, и вы можете использовать GitHub Codespaces за счет организации. Дополнительные сведения см. в разделе Сведения о Enterprise Managed Users.

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

Дополнительные сведения об использовании личная учетная запись и настройке ограничения расходов см. в разделе [AUTOTITLE и Биллинг GitHub Codespaces](/billing/how-tos/set-up-budgets).

Codespace не открывается при создании

Если вы создаете codespace, а он не открывается:

  1. Попробуйте перезагрузить страницу, если возникла проблема с кэшированием или отчетами.
  2. Перейдите на GitHub Codespaces страницу: https://github.com/codespaces и проверьте, отображается ли новое пространство кода. Возможно, процесс успешно создал codespace, но не смог отправить отчет в ваш браузер. Если новый codespace указан в списке, его можно открыть непосредственно с этой страницы.
  3. Повторите попытку создания codespace для репозитория, чтобы исключить временный сбой связи.

Если вы по-прежнему не можете создать пространство кода для репозитория, где GitHub Codespaces доступно, Возможно, будет необходимо обратиться в службу поддержки. Дополнительные сведения см. в разделе Работа с поддержкой GitHub Codespaces.

Сбой создания пространства кода

Если создание пространства кода завершается сбоем, скорее всего, возникнет проблема с временной инфраструктурой в облаке, например, проблема с подготовкой виртуальной машины для пространства кода. Менее распространенная причина сбоя заключается в том, что для сборки контейнера требуется больше часа. В этом случае сборка отменена, а создание пространства кода завершится ошибкой.

Примечание.

Пространство кода, которое не было успешно создано, никогда не будет использоваться и должно быть удалено. Дополнительные сведения см. в разделе Удаление codespace.

Если вы создаете пространство кода и создание завершается ошибкой:

  1. Проверьте GitHubстраницу «Статус» на предмет активных инцидентов.

  2. Перейдите на GitHub Codespaces страницу, удалите пространство кода и создайте новое пространство кода.

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

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

Примечание.

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

Снимок экрана: страница "Настройка пространства кода" в браузере. Ссылка "Просмотр журналов" выделена темно-оранжевым контуром.

В классическом VS Code приложении щелкните "Создание пространства кода " во всплывающем сообщении "Настройка удаленного подключения", которое отображается.

Снимок экрана: всплывающее сообщение в VS Code, чтение "Настройка удаленного подключения: создание пространства кода".

Сообщения журнала печатаются в терминале VS Code

  1. Если у вас есть контейнер, который занимает много времени для сборки, рассмотрите возможность использования предварительной сборки для ускорения создания пространства кода. Дополнительные сведения см. в разделе Настройка предварительных сборок.

Удаление codespace

Пространство кода можно удалить только следующим образом:

  • Пользователь, создавший пространство кода
  • Владелец организации для пространства кода, принадлежащей организации
  • Автоматическое удаление в конце срока хранения

Дополнительные сведения см. в разделе [AUTOTITLE и Удаление codespace](/codespaces/setting-your-user-preferences/configuring-automatic-deletion-of-your-codespaces).

Хранилище контейнеров

При создании codespace он имеет ограниченный объем хранилища, и со временем может потребоваться освободить место. Попробуйте выполнить любую из следующих команд в терминале GitHub Codespaces , чтобы освободить место в хранилище.

  • Удалите пакеты, которые больше не используются, с помощью sudo apt autoremove.
  • Очистите кэш apt с помощью sudo apt clean.
  • Просмотрите 10 самых больших файлов в codespace с помощью sudo find / -printf '%s %p\n'| sort -nr | head -10.
  • Удалите ненужные файлы, такие как артефакты сборки и журналы.

Некоторые более разрушительные варианты:

  • Удалите неиспользуемые образы Docker, сети и контейнеры с помощью docker system prune (добавьте -a, чтобы удалить все образы, и --volumes, если хотите удалить все тома).
  • Удалите неотслеживаемые файлы из рабочего дерева: git clean -i.

Настройка

Если изменения в конфигурации контейнера разработки приводят к ошибке контейнера, codespace запустится в режиме восстановления и появится сообщение об ошибке.

This codespace is currently running in recovery mode due to a container error.

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

Затем можно попробовать перезапустить пространство кода или перестроить контейнер. Дополнительные сведения о перестроении контейнера см. в разделе Основные сведения о контейнерах разработки.