Note
- Использование GitHub Codespaces с idEs JetBrains в настоящее время находится в public preview и подлежит изменению.
- Для работы с пространством кода в интегрированной среде разработки JetBrains необходимо использовать выпуск 2023.3.* или 2024.1.* шлюза JetBrains.
Сведения о переадресованных портах
Переадресация портов обеспечивает доступ к TCP-портам, работающим в кодовом пространстве. Например, если веб-приложение выполняется через определенный порт в кодовом пространстве, можно настроить переадресацию этого порта. Это позволяет получать доступ к приложению из браузера на локальном компьютере для тестирования и отладки.
Когда приложение, выполняющееся в кодовом пространстве, выводит выходные данные в терминал, содержащий URL-адрес localhost, например, http://localhost:PORT
или http://127.0.0.1:PORT
, выполняется автоматическая переадресация порта. Если GitHub Codespaces используется в браузере или в Visual Studio Code, строка URL-адреса в терминале преобразуется в ссылку, по которой можно перейти, чтобы просмотреть веб-страницу на локальном компьютере. По умолчанию GitHub Codespaces перенаправит порты с помощью ПРОТОКОЛА HTTP.
Вы можете изменить конфигурацию контейнера разработки для репозитория, чтобы автоматически перенаправить один или несколько портов. Можно также выполнить переадресацию порта вручную, пометить переадресованные порты, предоставить доступ к переадресованным портам членам организации, предоставить общий доступ к переадресованным портам и добавить переадресованные порты в конфигурацию кодового пространства.
Note
Владельцы организации могут сделать перенаправляемые порты общедоступными или доступными только внутри организации. Дополнительные сведения см. в разделе Ограничение видимости переадресованных портов.
Переадресация порта
Можно вручную выполнить переадресацию порта, который не был переадресован автоматически.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
В списке портов нажмите кнопку Добавить порт.
-
Введите номер порта или адрес, а затем нажмите клавишу ВВОД.
Использование переадресации HTTPS
По умолчанию GitHub Codespaces перенаправит порты с помощью HTTP, но при необходимости можно обновить любой порт для использования HTTPS. Если вы обновляете порт с общедоступной видимостью для использования HTTPS, видимость порта автоматически изменится на частный.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, который требуется обновить, а затем наведите указатель мыши на протокол изменения порта.
-
Выберите протокол, необходимый для этого порта. Выбранный протокол будет запоминаться для этого порта на время существования кодового пространства.
Общий доступ к порту
Note
Вы можете сделать порт закрытым для организации, если ваша организация использует GitHub Team или GitHub Enterprise Cloud.
Если требуется предоставить доступ к переадресованному порту другим пользователям, можно сделать порт частным для организации или общедоступным. После того как вы сделаете порт частным для организации, любой пользователь в организации с URL-адресом порта сможет просмотреть выполняющееся приложение. После того как вы сделаете порт общедоступным, любой пользователь, который знает URL-адрес и номер порта, сможет просмотреть выполняющееся приложение без необходимости проходить проверку подлинности.
Note
Выбор параметров видимости портов может быть ограничен политикой, настроенной для вашей организации. Дополнительные сведения см. в разделе Ограничение видимости переадресованных портов.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, к которому нужно предоставить общий доступ, щелкните "Видимость портов", а затем выберите "Приватный" в организацию или "Общедоступную".
-
Справа от локального адреса порта щелкните значок копирования.
-
Отправьте скопированный URL-адрес пользователю, которому требуется предоставить доступ к порту.
Использование средств командной строки и клиентов REST для доступа к портам
При пересылке порта приложение становится доступным по URL-адресу https://CODESPACENAME-PORT.app.github.dev
. Например, https://monalisa-hot-potato-vrpqrxxrx7x2rxx-4000.app.github.dev
. Если вы пересылаете частный порт из классического приложения VS Code, ваше приложение также будет доступно на порту localhost, например 127.0.0.1:4000
.
Чтобы получить доступ к приложению с помощью клиента REST, например Postman, или средства командной строки, например curl, вам не нужно проходить проверку подлинности, если вы используете порт localhost, или если вы обращаетесь к общедоступному порту в удаленном домене. Однако для подключения к частному порту в удаленном домене необходимо пройти проверку подлинности с помощью GITHUB_TOKEN
маркера доступа в запросе.
Note
Автоматически GITHUB_TOKEN
создается при запуске пространства кода и остается неизменным в течение сеанса пространства кода. При остановке и перезапуске пространства кода создается новое GITHUB_TOKEN
пространство кода.
Поиск адреса для подключения
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ". В этом списке перечислены все порты, которые вы перенаправили.
-
Щелкните правой кнопкой мыши порт, к которому нужно подключиться, и нажмите кнопку "Копировать локальный адрес".
-
Вставьте скопированный адрес где-то для последующего использования.
Поиск GITHUB_TOKEN
-
В терминале в пространстве кода введите
echo $GITHUB_TOKEN
.Маркер — это строковое начало
ghu_
. -
Скопируйте маркер.
Important
Не делитесь этим маркером доступа с кем-либо.
Использование curl для доступа к переадресованным порту
В терминале на локальном компьютере введите следующее:
curl ADDRESS -H "X-Github-Token: TOKEN"
Замените ADDRESS
и TOKEN
на значения, скопированные ранее.
Использование Postman для доступа к переадресованным порту
-
Откройте Postman.
-
Создайте новый запрос GET.
-
Вставьте адрес, скопированный ранее в качестве URL-адреса запроса.
-
На вкладке "Заголовки " создайте новую запись, в которой ключ — X-Github-Token, а значение
GITHUB_TOKEN
— скопированное ранее. -
Нажмите Отправить.
Автоматическая пересылка порта
Вы можете добавить переадресованный порт в конфигурацию GitHub Codespaces для репозитория, чтобы порт автоматически перенаправился для всех пространств кода, созданных из репозитория. После обновления конфигурации все ранее созданные кодовые пространства необходимо перестроить, чтобы применить изменение. Дополнительные сведения о файле конфигурации контейнера разработки см. в разделе "Основные сведения о контейнерах разработки".
-
В пространстве кода откройте файл конфигурации контейнера разработки, который требуется обновить. Обычно этот файл имеет значение
.devcontainer/devcontainer.json
. -
Добавление свойства
forwardPorts
"forwardPorts": [NUMBER],
Замените
NUMBER
номер порта, который требуется перенаправить. Это может быть разделенный запятыми список номеров портов. -
Сохраните файл.
Маркировка порта
При открытии пространства кода в браузере или в классическом приложении VS Code можно пометить переадресованный порт, чтобы упростить идентификацию в списке.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, который нужно наметить, а затем выберите пункт "Задать метку порта".
-
Введите метку для порта, а затем нажмите клавишу ВВОД.
Автоматическая маркировка переадресованного порта
Вы можете пометить порт и записать изменения в файл конфигурации контейнера разработки для репозитория. Если это сделать для порта, который автоматически перенаправлен, используя forwardPorts
свойство, метка будет автоматически применена к этому переадресованном порту для всех будущих пространств кода, созданных из репозитория с помощью этого файла конфигурации.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, атрибут метки которого нужно добавить в конфигурацию пространства кода, а затем щелкните "Задать метку" и "Обновить devcontainer.json".
-
Введите метку для порта, а затем нажмите клавишу ВВОД.
-
Если в репозитории есть несколько файлов конфигурации контейнера разработки, вам будет предложено выбрать файл, который требуется обновить.
Файл конфигурации контейнера разработки обновляется, чтобы включить новую метку в
portsAttributes
свойство. Например:// Use 'forwardPorts' to make a list of ports inside the container available locally. "forwardPorts": [3333, 4444], "portsAttributes": { "3333": { "label": "app-standard-preview" }, "4444": { "label": "app-pro-preview" } }
Когда приложение, выполняющееся в кодовом пространстве, выводит выходные данные в терминал, содержащий URL-адрес localhost, например, http://localhost:PORT
или http://127.0.0.1:PORT
, выполняется автоматическая переадресация порта. Если GitHub Codespaces используется в браузере или в Visual Studio Code, строка URL-адреса в терминале преобразуется в ссылку, по которой можно перейти, чтобы просмотреть веб-страницу на локальном компьютере. По умолчанию GitHub Codespaces перенаправит порты с помощью ПРОТОКОЛА HTTP.
Вы можете изменить конфигурацию контейнера разработки для репозитория, чтобы автоматически перенаправить один или несколько портов. Можно также выполнить переадресацию порта вручную, пометить переадресованные порты, предоставить доступ к переадресованным портам членам организации, предоставить общий доступ к переадресованным портам и добавить переадресованные порты в конфигурацию кодового пространства.
Note
Владельцы организации могут сделать перенаправляемые порты общедоступными или доступными только внутри организации. Дополнительные сведения см. в разделе Ограничение видимости переадресованных портов.
Переадресация порта
Можно вручную выполнить переадресацию порта, который не был переадресован автоматически.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
В списке портов нажмите кнопку Добавить порт.
-
Введите номер порта или адрес, а затем нажмите клавишу ВВОД.
Общий доступ к порту
Note
Вы можете сделать порт закрытым для организации, если ваша организация использует GitHub Team или GitHub Enterprise Cloud.
Если требуется предоставить доступ к переадресованному порту другим пользователям, можно сделать порт частным для организации или общедоступным. После того как вы сделаете порт частным для организации, любой пользователь в организации с URL-адресом порта сможет просмотреть выполняющееся приложение. После того как вы сделаете порт общедоступным, любой пользователь, который знает URL-адрес и номер порта, сможет просмотреть выполняющееся приложение без необходимости проходить проверку подлинности.
Note
Выбор параметров видимости портов может быть ограничен политикой, настроенной для вашей организации. Дополнительные сведения см. в разделе Ограничение видимости переадресованных портов.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, к которому нужно предоставить общий доступ, щелкните "Видимость портов", а затем выберите "Приватный" в организацию или "Общедоступную".
-
Справа от локального адреса порта щелкните значок копирования.
-
Отправьте скопированный URL-адрес пользователю, которому требуется предоставить доступ к порту.
Использование средств командной строки и клиентов REST для доступа к портам
При пересылке порта приложение становится доступным по URL-адресу https://CODESPACENAME-PORT.app.github.dev
. Например, https://monalisa-hot-potato-vrpqrxxrx7x2rxx-4000.app.github.dev
. Если вы пересылаете частный порт из классического приложения VS Code, ваше приложение также будет доступно на порту localhost, например 127.0.0.1:4000
.
Чтобы получить доступ к приложению с помощью клиента REST, например Postman, или средства командной строки, например curl, вам не нужно проходить проверку подлинности, если вы используете порт localhost, или если вы обращаетесь к общедоступному порту в удаленном домене. Однако для подключения к частному порту в удаленном домене необходимо пройти проверку подлинности с помощью GITHUB_TOKEN
маркера доступа в запросе.
Note
Автоматически GITHUB_TOKEN
создается при запуске пространства кода и остается неизменным в течение сеанса пространства кода. При остановке и перезапуске пространства кода создается новое GITHUB_TOKEN
пространство кода.
Поиск адреса для подключения
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ". В этом списке перечислены все порты, которые вы перенаправили.
-
Щелкните правой кнопкой мыши порт, к которому нужно подключиться, и нажмите кнопку "Копировать локальный адрес".
-
Вставьте скопированный адрес где-то для последующего использования.
Поиск GITHUB_TOKEN
-
В терминале в пространстве кода введите
echo $GITHUB_TOKEN
.Маркер — это строковое начало
ghu_
. -
Скопируйте маркер.
Important
Не делитесь этим маркером доступа с кем-либо.
Использование curl для доступа к переадресованным порту
В терминале на локальном компьютере введите следующее:
curl ADDRESS -H "X-Github-Token: TOKEN"
Замените ADDRESS
и TOKEN
на значения, скопированные ранее.
Использование Postman для доступа к переадресованным порту
-
Откройте Postman.
-
Создайте новый запрос GET.
-
Вставьте адрес, скопированный ранее в качестве URL-адреса запроса.
-
На вкладке "Заголовки " создайте новую запись, в которой ключ — X-Github-Token, а значение
GITHUB_TOKEN
— скопированное ранее. -
Нажмите Отправить.
Автоматическая пересылка порта
Вы можете добавить переадресованный порт в конфигурацию GitHub Codespaces для репозитория, чтобы порт автоматически перенаправился для всех пространств кода, созданных из репозитория. После обновления конфигурации все ранее созданные кодовые пространства необходимо перестроить, чтобы применить изменение. Дополнительные сведения о файле конфигурации контейнера разработки см. в разделе "Основные сведения о контейнерах разработки".
-
В пространстве кода откройте файл конфигурации контейнера разработки, который требуется обновить. Обычно этот файл имеет значение
.devcontainer/devcontainer.json
. -
Добавление свойства
forwardPorts
"forwardPorts": [NUMBER],
Замените
NUMBER
номер порта, который требуется перенаправить. Это может быть разделенный запятыми список номеров портов. -
Сохраните файл.
Маркировка порта
При открытии пространства кода в браузере или в классическом приложении VS Code можно пометить переадресованный порт, чтобы упростить идентификацию в списке.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, который нужно наметить, а затем выберите пункт "Задать метку порта".
-
Введите метку для порта, а затем нажмите клавишу ВВОД.
Автоматическая маркировка переадресованного порта
Вы можете пометить порт и записать изменения в файл конфигурации контейнера разработки для репозитория. Если это сделать для порта, который автоматически перенаправлен, используя forwardPorts
свойство, метка будет автоматически применена к этому переадресованном порту для всех будущих пространств кода, созданных из репозитория с помощью этого файла конфигурации.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, атрибут метки которого нужно добавить в конфигурацию пространства кода, а затем щелкните "Задать метку" и "Обновить devcontainer.json".
-
Введите метку для порта, а затем нажмите клавишу ВВОД.
-
Если в репозитории есть несколько файлов конфигурации контейнера разработки, вам будет предложено выбрать файл, который требуется обновить.
Файл конфигурации контейнера разработки обновляется, чтобы включить новую метку в
portsAttributes
свойство. Например:// Use 'forwardPorts' to make a list of ports inside the container available locally. "forwardPorts": [3333, 4444], "portsAttributes": { "3333": { "label": "app-standard-preview" }, "4444": { "label": "app-pro-preview" } }
Дополнительные сведения о GitHub CLIсм. в разделе "Сведения о GitHub CLI".
Для переадресации порта используйте подкоманду gh codespace ports forward
. Замените codespace-port:local-port
удаленными и локальными портами, которые требуется подключить. Выполнив команду, выберите требуемый вариант из представленного списка кодовых пространств.
gh codespace ports forward CODESPACE-PORT:LOCAL-PORT
Дополнительные сведения об этой команде см. в руководстве по GitHub CLI.
Чтобы просмотреть сведения о переадресованных портах, введите gh codespace ports
и выберите кодовое пространство.
Общий доступ к порту
Note
Вы можете сделать порт закрытым для организации, если ваша организация использует GitHub Team или GitHub Enterprise Cloud.
Если требуется предоставить доступ к переадресованному порту другим пользователям, можно сделать порт частным для организации или общедоступным. После того как вы сделаете порт частным для организации, любой пользователь в организации с URL-адресом порта сможет просмотреть выполняющееся приложение. После того как вы сделаете порт общедоступным, любой пользователь, который знает URL-адрес и номер порта, сможет просмотреть выполняющееся приложение без необходимости проходить проверку подлинности.
Note
Выбор параметров видимости портов может быть ограничен политикой, настроенной для вашей организации. Дополнительные сведения см. в разделе Ограничение видимости переадресованных портов.
Для изменения видимости переадресованного порта используйте подкоманду gh codespace ports visibility
. Существует три варианта видимости.
private
— объект виден только вам. Это вариант по умолчанию при переадресации порта.org
— объект виден членам организации, которой принадлежит репозиторий.public
— объект виден всем, кто знает URL-адрес и номер порта.
Замените codespace-port
номером переадресованного порта. Замените setting
на private
, org
или public
. Выполнив команду, выберите требуемый вариант из представленного списка кодовых пространств.
gh codespace ports visibility CODESPACE-PORT:SETTINGS
Задать видимость для нескольких портов можно с помощью одной команды. Например:
gh codespace ports visibility 80:private 3000:public 3306:org
Дополнительные сведения об этой команде см. в руководстве по GitHub CLI.
Использование средств командной строки и клиентов REST для доступа к портам
При пересылке порта приложение становится доступным по URL-адресу https://CODESPACENAME-PORT.app.github.dev
. Например, https://monalisa-hot-potato-vrpqrxxrx7x2rxx-4000.app.github.dev
. Если вы пересылаете частный порт из классического приложения VS Code, ваше приложение также будет доступно на порту localhost, например 127.0.0.1:4000
.
Чтобы получить доступ к приложению с помощью клиента REST, например Postman, или средства командной строки, например curl, вам не нужно проходить проверку подлинности, если вы используете порт localhost, или если вы обращаетесь к общедоступному порту в удаленном домене. Однако для подключения к частному порту в удаленном домене необходимо пройти проверку подлинности с помощью GITHUB_TOKEN
маркера доступа в запросе.
Note
Автоматически GITHUB_TOKEN
создается при запуске пространства кода и остается неизменным в течение сеанса пространства кода. При остановке и перезапуске пространства кода создается новое GITHUB_TOKEN
пространство кода.
Поиск адреса для подключения
Чтобы найти адрес переадресованного порта, введите gh codespace ports
. Если у вас несколько пространств кода, выберите соответствующее пространство кода из отображаемого списка.
Скопируйте адрес и вставьте его где-то для последующего использования.
Поиск GITHUB_TOKEN
-
Запустите сеанс SSH для пространства кода.
gh codespace ssh
-
Если у вас несколько пространств кода, выберите соответствующее пространство кода из отображаемого списка.
-
GITHUB_TOKEN
Отображение .echo $GITHUB_TOKEN
Маркер — это строковое начало
ghu_
. -
Скопируйте маркер.
Important
Не делитесь этим маркером доступа с кем-либо.
-
Выйдите из сеанса SSH.
exit
Использование curl для доступа к переадресованным порту
В терминале на локальном компьютере введите следующее:
curl ADDRESS -H "X-Github-Token: TOKEN"
Замените ADDRESS
и TOKEN
на значения, скопированные ранее.
Использование Postman для доступа к переадресованным порту
-
Откройте Postman.
-
Создайте новый запрос GET.
-
Вставьте адрес, скопированный ранее в качестве URL-адреса запроса.
-
На вкладке "Заголовки " создайте новую запись, в которой ключ — X-Github-Token, а значение
GITHUB_TOKEN
— скопированное ранее. -
Нажмите Отправить.
Автоматическая пересылка порта
Вы можете добавить переадресованный порт в конфигурацию GitHub Codespaces для репозитория, чтобы порт автоматически перенаправился для всех пространств кода, созданных из репозитория. После обновления конфигурации все ранее созданные кодовые пространства необходимо перестроить, чтобы применить изменение. Дополнительные сведения о файле конфигурации контейнера разработки см. в разделе "Основные сведения о контейнерах разработки".
-
В пространстве кода откройте файл конфигурации контейнера разработки, который требуется обновить. Обычно этот файл имеет значение
.devcontainer/devcontainer.json
. -
Добавление свойства
forwardPorts
"forwardPorts": [NUMBER],
Замените
NUMBER
номер порта, который требуется перенаправить. Это может быть разделенный запятыми список номеров портов. -
Сохраните файл.
Маркировка порта
При открытии пространства кода в браузере или в классическом приложении VS Code можно пометить переадресованный порт, чтобы упростить идентификацию в списке.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, который нужно наметить, а затем выберите пункт "Задать метку порта".
-
Введите метку для порта, а затем нажмите клавишу ВВОД.
Автоматическая маркировка переадресованного порта
Вы можете пометить порт и записать изменения в файл конфигурации контейнера разработки для репозитория. Если это сделать для порта, который автоматически перенаправлен, используя forwardPorts
свойство, метка будет автоматически применена к этому переадресованном порту для всех будущих пространств кода, созданных из репозитория с помощью этого файла конфигурации.
-
Откройте терминал в пространстве кода.
-
Перейдите на вкладку "ПОРТЫ ".
-
Щелкните правой кнопкой мыши порт, атрибут метки которого нужно добавить в конфигурацию пространства кода, а затем щелкните "Задать метку" и "Обновить devcontainer.json".
-
Введите метку для порта, а затем нажмите клавишу ВВОД.
-
Если в репозитории есть несколько файлов конфигурации контейнера разработки, вам будет предложено выбрать файл, который требуется обновить.
Файл конфигурации контейнера разработки обновляется, чтобы включить новую метку в
portsAttributes
свойство. Например:// Use 'forwardPorts' to make a list of ports inside the container available locally. "forwardPorts": [3333, 4444], "portsAttributes": { "3333": { "label": "app-standard-preview" }, "4444": { "label": "app-pro-preview" } }
Просмотр меток портов в командной строке
Метки портов отображаются при перечислении переадресированных портов для пространства кода. Для этого используйте gh codespace ports
команду, а затем выберите пространство кода.
Переадресация порта
Сведения о переадресации порта в пространстве кода на локальный компьютер см. в разделе "Переадресация портов" статьи "Модель безопасности" в документации JetBrains.
Кроме того, для пересылки порта можно использовать GitHub CLI. Дополнительные сведения см. на вкладке "GitHub CLI" в верхней части этой страницы.