Примечание.
Агент кодирования Copilot is in public preview and subject to change.
Дополнительные сведения о Агент кодирования Copilotсм. в разделе О назначении задач Copilot.
Настройка среды разработки Агент кодирования Copilot
При работе с задачей Copilot имеет доступ к собственной эфемерной среде разработки, на основе GitHub Actions, где он может изучить код, внести изменения, выполнить автоматические тесты и перетерты и многое другое.
Вы можете настроить для среды Copilot:
- Предварительный набор инструментов или зависимостей в среде Copilot.
- Обновление с стандартных переменных данных GitHub, размещенных GitHub Actions, до более крупных модулей выполнения.
- Включение хранилища больших файлов Git (LFS)
- Отключите или настройте брандмауэр агента.
Предварительные установки инструментов или зависимостей в среде Copilot.
В своей эфемерной среде разработки Copilot может создавать или компилировать проект и выполнять автоматизированные тесты, linters и другие средства. Для этого потребуется установить зависимости проекта.
Copilot может обнаруживать и устанавливать эти зависимости с помощью процесса проб и ошибок, но это может быть медленно и ненадежно, учитывая недетерминированный характер больших языковых моделей (LLM), и в некоторых случаях может быть полностью не удается скачать эти зависимости, например, если они являются частными.
Вместо этого можно предварительно настроить 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
файла для проекта TypeScript, клонируемого проекта, установки Node.js и скачивания и кэширования зависимостей проекта. Это необходимо настроить для соответствия языковым и зависимостям собственного проекта:
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: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "20" cache: "npm" - name: Install JavaScript dependencies run: npm ci
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:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install JavaScript dependencies
run: npm ci
copilot-setup-steps.yml
В файле можно настроить только следующие параметры copilot-setup-steps
задания. При попытке настроить другие параметры изменения будут игнорироваться.
steps
(см. выше)permissions
(см. выше)runs-on
(см. ниже)container
services
snapshot
timeout-minutes
(максимальное значение:59
)
Дополнительные сведения об этих параметрах см. в разделе Синтаксис рабочего процесса для GitHub Actions.
Файл copilot-setup-steps.yml
будет автоматически запускаться как обычный рабочий процесс GitHub Actions при внесении изменений, чтобы узнать, успешно ли он выполняется. Это будет отображаться вместе с другими проверками в запросе на вытягивание, в котором вы создаете или изменяете файл.
После объединения файла yml в ветвь по умолчанию можно вручную запустить рабочий процесс на вкладке "Действия** репозитория**" в любое время, чтобы убедиться, что все работает должным образом. Дополнительные сведения см. в разделе Запуск рабочего процесса вручную.
Обновление до более крупных GitHub, размещенных GitHub Actions
По умолчанию Copilot работает в стандартном средстве выполнения GitHub Actions с ограниченными ресурсами.
Вместо этого можно использовать более крупные средства выполнения с более сложными функциями, например с дополнительными возможностями ОЗУ, ЦП и дискового пространства и расширенными сетевыми элементами управления. При скачивании зависимостей или выполнении тестов может потребоваться выполнить обновление до более крупного средства выполнения. Дополнительные сведения см. в разделе О более крупных бегунах.
Прежде чем Copilot может использовать более крупные средства выполнения, необходимо сначала добавить один или несколько более крупных модулей выполнения, а затем настроить репозиторий для их использования. См . раздел AUTOTITLE. После этого вы можете использовать copilot-setup-steps.yml
файл, чтобы сообщить Copilot, чтобы использовать более крупные средства выполнения.
Чтобы использовать более крупные средства выполнения, задайте runs-on
шаг copilot-setup-steps
задания меткой и (или) группу для более крупных средств выполнения, которые необходимо использовать Copilot. Дополнительные сведения об указании более крупных модулей выполнения см runs-on
. в разделе Выполнение заданий на более крупных запусках.
# ...
jobs:
copilot-setup-steps:
runs-on: ubuntu-4-core
# ...
Примечание.
- Агент кодирования Copilot совместим только с runners Ubuntu x64 Linux. Запуски с Windows, macOS или другими операционными системами не поддерживаются.
- Локальные GitHub Actions не поддерживаются.
Включение хранилища больших файлов Git (LFS)
Если вы используете хранилище больших файлов Git (LFS) для хранения больших файлов в репозитории, необходимо настроить среду Copilot, чтобы установить Git LFS и получить объекты LFS.
Чтобы включить Git LFS, добавьте actions/checkout
шаг в задание copilot-setup-steps
с заданным параметром lfs
true
.
# ... jobs: copilot-setup-steps: runs-on: ubuntu-latest permissions: contents: read # for actions/checkout steps: - uses: actions/checkout@v4 with: lfs: true
# ...
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read # for actions/checkout
steps:
- uses: actions/checkout@v4
with:
lfs: true