Skip to main content

Настройка среды разработки для облачного агента GitHub Copilot

Узнайте, как настроить GitHub Copilotсреду разработки с помощью дополнительных инструментов.

О Copilot облачный агенткастомизации среды разработки

Работая над задачей, Copilot имеет доступ к собственной эфемерной среде разработки, основанной GitHub Actionsна , где может исследовать ваш код, вносить изменения, выполнять автоматизированные тесты, линтеры и многое другое.

Вы можете настроить Copilotсреду разработки с помощью файлаCopilot шагов настройки. Вы можете использовать Copilot файл шагов настройки, чтобы:

  •         [Инструменты предустановки или зависимости в Copilotсреде .](#preinstalling-tools-or-dependencies-in-copilots-environment)
    
  •         [Обновление с стандартных GitHubразмещённых GitHub Actions бегунов на более крупные](#upgrading-to-larger-github-hosted-github-actions-runners)
    
  •         [Бегать на GitHub Actions самостоятельных бегунах](#using-self-hosted-github-actions-runners)
    
  •         [Дайте Copilot Windows среду разработки](#switching-copilot-to-a-windows-development-environment) вместо стандартной среды Ubuntu Linux
    
  •         [Включить Git Large File Storage (LFS)](#enabling-git-large-file-storage-lfs)
    

Кроме того, вы можете:

  •         [Устанавливайте переменные среды в Copilotокружении .](#setting-environment-variables-in-copilots-environment)
    
  •         [Отключите или настройте брандмауэр](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-cloud-agent) агента.
    

Примечание.

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

Настройка Copilotсреды разработки с Copilot этапами настройки

Вы можете настроить Copilotокружение, создав специальный GitHub Actions файл рабочего процесса, который находится .github/workflows/copilot-setup-steps.yml в вашем репозитории.

Файл copilot-setup-steps.yml выглядит как обычный GitHub Actions рабочий процесс, но должен содержать одну copilot-setup-steps задачу. Этапы этой работы будут выполнены GitHub Actions до Copilot начала работы. Для получения дополнительной информации о GitHub Actions рабочих процессах см. Синтаксис рабочего процесса для GitHub Actions.

Примечание.

Рабочий copilot-setup-steps.yml процесс не активируется, если он отсутствует в ветвь по умолчанию.

Вот простой пример файла copilot-setup-steps.yml для TypeScript project, который клонирует project, устанавливает Node.js и скачивает и кэширует зависимости project. Вам следует настроить это под язык(ы) и зависимости вашего собственного project:

YAML
name: "Copilot Setup Steps"

# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
  workflow_dispatch:
  push:
    paths:
      - .github/workflows/copilot-setup-steps.yml
  pull_request:
    paths:
      - .github/workflows/copilot-setup-steps.yml

jobs:
  # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
  copilot-setup-steps:
    runs-on: ubuntu-latest

    # Set the permissions to the lowest permissions possible needed for your steps.
    # Copilot will be given its own token for its operations.
    permissions:
      # If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission.
      # If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
      contents: read

    # You can define any steps you want, and they will run before the agent starts.
    # If you do not check out your code, Copilot will do this for you.
    steps:
      # ...
          `copilot-setup-steps.yml` В файле можно настроить только следующие параметры `copilot-setup-steps` задания. При попытке настроить другие параметры изменения будут игнорироваться.

* steps (см. выше) * permissions (см. выше) * runs-on (см. ниже)

  • services
  • snapshot
  •         `timeout-minutes` (максимальное значение: `59`)
    

Для получения дополнительной информации об этих вариантах см. Синтаксис рабочего процесса для GitHub Actions.

Любое значение, заданное для fetch-depth параметра действия, будет переопределено, чтобы разрешить агенту откат фиксаций actions/checkout при запросе, а также для устранения рисков безопасности. Дополнительные сведения см. в статье actions/checkout/README.md.

Ваш copilot-setup-steps.yml файл автоматически будет запускаться как обычный GitHub Actions рабочий процесс при внесении изменений, так что вы можете проверить, работает ли он успешно. Это будет отображаться вместе с другими проверками в запросе на вытягивание, в котором вы создаете или изменяете файл.

После объединения файла yml в ветвь по умолчанию можно вручную запустить рабочий процесс на вкладке "Действия** репозитория**" в любое время, чтобы убедиться, что все работает должным образом. Дополнительные сведения см. в разделе Запуск рабочего процесса вручную.

Когда Copilot начнётся работа, будут выполнены ваши шаги настройки, и обновления появятся в журналах сессий. См . раздел AUTOTITLE.

Если какой-либо этап настройки не удаётся вернуть ненулевой выходной код, Copilot оставшиеся этапы настройки пропускаются и начинаются работы с текущим состоянием среды разработки.

Предустановка инструментов или зависимостей в Copilotокружении .

В своей эфемерной среде разработки Copilot вы можете создать или компилировать ваш проект и запускать автоматизированные тесты, линтеры и другие инструменты. To do этого нужно установить зависимости вашего project.

          Copilot может самостоятельно обнаруживать и устанавливать эти зависимости методом проб и ошибок, но это может быть медленно и ненадёжно, учитывая недетерминированный характер больших языковых моделей (LLM), и в некоторых случаях он может быть полностью неспособен скачать эти зависимости — например, если они частные.

Можно использовать файл Copilot шагов настройки, чтобы детерминированно устанавливать инструменты или зависимости до начала работы Copilot. To do этого добавьте steps к работе copilot-setup-steps:

# ...

jobs:
  copilot-setup-steps:
    # ...

    # You can define any steps you want, and they will run before the agent starts.
    # If you do not check out your code, Copilot will do this for you.
    steps:
      - name: Checkout code
        uses: actions/checkout@v5

      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: "npm"

      - name: Install JavaScript dependencies
        run: npm ci

Переход к более крупным GitHub-hosted GitHub Actions runners

По умолчанию Copilot это работает в стандартном GitHub Actions бегу. Вы можете перейти на более крупные раннеры для лучшей производительности (CPU и память), большего пространства на диске и расширенных функций, таких как приватная сеть Azure. Дополнительные сведения см. в разделе Более крупные бегуны.

  1. Организуйте более крупные маршруты для вашей организации. Дополнительные сведения см. в разделе Управление большими бегунами.

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

    • uploads.github.com
    • user-images.githubusercontent.com
    •         `api.individual.githubcopilot.com` (если вы ожидаете Copilot Pro , что Copilot Pro+ пользователи будут использовать Copilot облачный агент их в вашем репозитории)
      
    •         `api.business.githubcopilot.com` (если вы ожидаете Copilot Business , что пользователи будут использовать Copilot облачный агент его в вашем репозитории)
      
    •         `api.enterprise.githubcopilot.com` (если вы ожидаете Copilot Enterprise , что пользователи будут использовать Copilot облачный агент его в вашем репозитории)
      
    • Если вы используете OpenAI Codex стороннего агента (для получения дополнительной информации см. О сторонних агентах):
      • npmjs.org
      • npmjs.com
      • registry.npmjs.com
      • registry.npmjs.org
      • skimdb.npmjs.com
  3. Используйте copilot-setup-steps.yml файл в вашем репозитории, чтобы настроить Copilot облачный агент работу на выбранных раннерах. Укажите runs-on шаг copilot-setup-steps работы на метку и/или группу для более крупных маршрутов, которые хотите Copilot использовать. Для получения дополнительной информации о выборе более крупных бегунов с runs-on см. Выполнение заданий на более крупных запусках.

    # ...
    
    jobs:
      copilot-setup-steps:
        runs-on: ubuntu-4-core
        # ...
    

Примечание.

* Copilot облачный агент совместим только с Ubuntu x64 Linux и Windows 64-битными раннерами. Раннеры с macOS или другими операционными системами не поддерживаются.

Использование самостоятельных GitHub Actions бегунов

Можно бегать Copilot облачный агент на самостоятельных бегунках. Возможно, стоит сделать это, чтобы соответствовать тому, как вы запускаете рабочие процессы CI/CD на GitHub Actions, или чтобы дать Copilot доступ к внутренним ресурсам вашей сети.

Мы рекомендуем использовать Copilot облачный агент только с эфемерными, одноразовыми бегунами, которые не используются повторно для нескольких задач. Большинство клиентов настраивают это с помощью ARC (Actions Runner Controller) или GitHub Actions Runner Scale Set Client. Дополнительные сведения см. в разделе Справочник по локальным запускам.

Примечание.

          Copilot облачный агент совместим только с Ubuntu x64 и Windows 64-битными раннерами. Раннеры с macOS или другими операционными системами не поддерживаются.
  1. Настройте сетевые меры безопасности для ваших GitHub Actions участников так, чтобы Copilot облачный агент они не имели открытого доступа к вашей сети или публичному интернету.

    Вы должны настроить свой файрвол так, чтобы поддерживать подключение к стандартным хостам, необходимым для GitHub Actions самостоятельных раннеров, а также к следующим хостам:

    • uploads.github.com
    • user-images.githubusercontent.com
    •         `api.individual.githubcopilot.com` (если вы ожидаете Copilot Pro , что Copilot Pro+ пользователи будут использовать Copilot облачный агент их в вашем репозитории)
      
    •         `api.business.githubcopilot.com` (если вы ожидаете Copilot Business , что пользователи будут использовать Copilot облачный агент его в вашем репозитории)
      
    •         `api.enterprise.githubcopilot.com` (если вы ожидаете Copilot Enterprise , что пользователи будут использовать Copilot облачный агент его в вашем репозитории)
      
    • Если вы используете OpenAI Codex стороннего агента (для получения дополнительной информации см. О сторонних агентах):
      • npmjs.org
      • npmjs.com
      • registry.npmjs.com
      • registry.npmjs.org
      • skimdb.npmjs.com
  2. Отключите Copilot облачный агентинтегрированный файрвол в настройках репозитория. Файрвол несовместим с самостоятельными раннерами. Если это не отключено, использование будет Copilot облачный агент заблокировано. Дополнительные сведения см. в разделе Настройка или отключение межсетевого экрана для облачного агента GitHub Copilot.

  3. В вашем copilot-setup-steps.yml файле укажите runs-on атрибут на имя набора масштабов, управляемого ARC:

    # ...
    
    jobs:
      copilot-setup-steps:
        runs-on: arc-scale-set-name
        # ...
    
  4. Если вы хотите настроить прокси-сервер для Copilot облачный агентподключений к интернету , настройте следующие переменные среды соответственно:

    VariableDescriptionExample
    https_proxyURL прокси для трафика HTTPS. При необходимости вы можете включить базовую аутентификацию.http://proxy.local
    http://192.168.1.1:8080
    http://username:password@proxy.local
    http_proxyURL прокси для HTTP-трафика. При необходимости вы можете включить базовую аутентификацию.http://proxy.local
    http://192.168.1.1:8080
    http://username:password@proxy.local
    no_proxyРазделенный запятыми список хостов или IP-адресов, которые должны обходить прокси. Некоторые клиенты учитывают IP-адреса только тогда, когда соединения устанавливаются непосредственно с IP-адресом, а не с именем хоста.example.com
    example.com,myserver.local:443,example.org
              | 
           `ssl_cert_file`    | Путь к SSL-сертификату, который показывает ваш прокси-сервер. Это нужно настроить, если ваш прокси перехватывает SSL-соединения.
            | 
           `/path/to/key.pem`                               |
    

| node_extra_ca_certs | Путь к SSL-сертификату, который показывает ваш прокси-сервер. Это нужно настроить, если ваш прокси перехватывает SSL-соединения. | /path/to/key.pem |

Вы можете задать эти переменные среды, следуя [инструкциям ниже](#setting-environment-variables-in-copilots-environment) или напрямую на раннере, например, с помощью собственного изображения раннера. Для получения дополнительной информации о создании пользовательского изображения см. [AUTOTITLE.](/actions/concepts/runners/actions-runner-controller#creating-your-own-runner-image)

Переход Copilot в среду Windows разработки

По умолчанию Copilot используется среда разработки на базе Ubuntu Linux.

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

Интегрированный межсетевой экран Copilot облачный агент несовместим с Windows, поэтому мы рекомендуем использовать только самостоятельные раннеры или крупные GitHub с Azure приватной сетью, где можно реализовать собственные сетевые элементы. Для получения дополнительной информации о бегунах с Azure частными сетями смотрите О частных сетях Azure для пользователей, размещённых на GitHub, в вашем корпоративном центре.

Чтобы использовать Windows с самостоятельными бегунами, следуйте инструкциям в разделе Использование самостоятельных GitHub Actions runners выше, используя метку для ваших Windows runners. Чтобы использовать Windows с более крупными GitHub размещёнными, следуйте инструкциям в разделе Upgrading to Bigger Runners выше, используя метку для ваших Windows runners.

Включение Git Large File Storage (LFS)

Если вы используете Git Large File Storage (LFS) для хранения больших файлов в репозитории, вам потребуется настроить Copilotокружение для установки Git LFS и получения объектов LFS.

Чтобы включить Git LFS, добавьте actions/checkout шаг в задание copilot-setup-steps с заданным параметром lfs``true.

YAML
# ...

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read # for actions/checkout
    steps:
      - uses: actions/checkout@v5
        with:
          lfs: true

Настройка переменных среды в Copilotокружении '

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

Чтобы установить переменную среды для Copilot, создайте GitHub Actions переменную или секрет в copilot среде. Если значение содержит конфиденциальную информацию, например пароль или API-ключ, лучше использовать GitHub Actions секрет.

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. На левой боковой панели щелкните Среды.

  4.        `copilot` Щелкните среду.
    
  5. Чтобы добавить секрет, в разделе "Секреты среды" нажмите кнопку "Добавить секрет среды". Чтобы добавить переменную, в разделе "Переменные среды" нажмите кнопку "Добавить переменную среды".

  6. Заполните поля "Имя" и "Значение", а затем нажмите кнопку "Добавить секрет " или "Добавить переменную " в соответствии с соответствующими параметрами.

Дополнительные материалы

  •         [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-firewall)