Sobre como personalizar Agente de nuvem Copiloto ambiente de desenvolvimento
Ao trabalhar em uma tarefa, Copilot tem acesso ao seu próprio ambiente de desenvolvimento efêmero, alimentado por GitHub Actions, onde pode explorar seu código, fazer alterações, executar testes automatizados e linters e muito mais.
Você pode personalizar Copiloto ambiente de desenvolvimento com um Copilot arquivo de etapas de instalação. Você pode usar um Copilot arquivo de etapas de instalação para:
-
[Pré-instalar ferramentas ou dependências no Copilotambiente](#preinstalling-tools-or-dependencies-in-copilots-environment) -
[Atualizar de GitHub corredores padrão hospedados GitHub Actions para corredores maiores ](#upgrading-to-larger-github-hosted-github-actions-runners) -
[Executar em GitHub Actions corredores auto-hospedados](#using-self-hosted-github-actions-runners) -
[Forneça Copilot um ambiente de desenvolvimento do Windows](#switching-copilot-to-a-windows-development-environment), em vez do ambiente padrão do Ubuntu Linux -
[Habilitar o LFS (Armazenamento de Arquivos Grandes) do Git](#enabling-git-large-file-storage-lfs)
Além disso, você pode:
-
[Definir variáveis de ambiente no Copilotsistema](#setting-environment-variables-in-copilots-environment) -
[Desabilitar ou personalizar o firewall do agente](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent).
Observação
Os proprietários da organização podem configurar o tipo padrão de executor para Agente de nuvem Copilot em todos os repositórios da sua organização, e escolher se os repositórios podem substituir esse padrão. Para saber mais, confira Configurando executores para o agente de nuvem do GitHub Copilot em sua organização.
Personalizando o ambiente de desenvolvimento Copilot com as etapas de configuração Copilot
Você pode personalizar Copiloto ambiente criando um arquivo de fluxo de trabalho especial GitHub Actions , localizado em .github/workflows/copilot-setup-steps.yml seu repositório.
Um arquivo copilot-setup-steps.yml parece um arquivo de fluxo de trabalho GitHub Actions normal, mas deve conter uma única tarefa copilot-setup-steps. As etapas neste trabalho serão executadas em GitHub Actions antes de Copilot começar a funcionar. Para obter mais informações sobre GitHub Actions arquivos de fluxo de trabalho, consulte Sintaxe de fluxo de trabalho para o GitHub Actions.
Observação
O fluxo de trabalho copilot-setup-steps.yml não será disparado, a menos que ele esteja presente no branch padrão.
Aqui está um exemplo simples de um arquivo copilot-setup-steps.yml para um projeto TypeScript que clona o projeto, instala Node.js e baixa e faz o cache das dependências do projeto. Você deve personalizar isso para se ajustar aos idiomas e dependências do seu próprio projeto.
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: "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:
# ...
No arquivo copilot-setup-steps.yml, você só pode personalizar as configurações a seguir do trabalho copilot-setup-steps. Se você tentar personalizar outras configurações, suas alterações serão ignoradas.
-
`steps` (consulte acima) -
`permissions` (consulte acima) -
`runs-on` (consulte abaixo) servicessnapshot-
`timeout-minutes` (valor máximo: `59`)
Para obter mais informações sobre essas opções, consulte Sintaxe de fluxo de trabalho para o GitHub Actions.
Qualquer valor definido para a opção fetch-depth da ação actions/checkout será substituído para permitir que o agente reverta os commits mediante solicitação, mitigando os riscos de segurança. Para obter mais informações, consulte actions/checkout/README.md.
O copilot-setup-steps.yml arquivo será executado automaticamente como um fluxo de trabalho normal GitHub Actions quando forem feitas alterações, para que você possa ver se ele é executado com êxito. Isso será exibido junto com outras verificações em uma pull request em que você cria ou modifica o arquivo.
Depois de ter mesclado o arquivo yml em sua ramificação padrão, você poderá executar manualmente o fluxo de trabalho na guia Ações do repositório a qualquer momento para verificar se tudo funciona como esperado. Para saber mais, confira Executar um fluxo de trabalho manualmente.
Quando Copilot iniciar o trabalho, as etapas de instalação serão executadas e as atualizações aparecerão nos logs da sessão. Confira Acompanhamento das sessões do GitHub Copilot.
Se qualquer etapa de instalação falhar retornando um código de saída diferente de zero, Copilot ignorará as etapas de instalação restantes e começará a trabalhar com o estado atual de seu ambiente de desenvolvimento.
Pré-instalação de ferramentas ou dependências no ambiente Copilot
Em seu ambiente de desenvolvimento efêmero, Copilot pode criar ou compilar seu projeto e executar testes automatizados, linters e outras ferramentas. Para fazer isso, será necessário instalar as dependências do projeto.
Copilot pode descobrir e instalar essas dependências por meio de um processo de tentativa e erro, mas isso pode ser lento e não confiável, dada a natureza não determinística dos modelos de linguagem de grande escala (LLMs) e, em alguns casos, pode ser completamente incapaz de baixar essas dependências, por exemplo, se elas forem privadas.
Você pode usar um arquivo de etapas de instalação do Copilot para instalar deterministicamente ferramentas ou dependências antes Copilot de iniciar o trabalho. Para fazer isso, adicione steps ao trabalho 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
Atualizando para corredores maiores GitHubhospedados GitHub Actions
Por padrão, Copilot funciona em um executor padrão GitHub Actions . Você pode atualizar para instâncias maiores para melhorar o desempenho (CPU e memória), obter mais espaço em disco e recursos avançados, como rede privada do Azure. Para saber mais, confira Executores avançados.
-
Configure os executores maiores para sua organização. Para saber mais, confira Gerenciar executores maiores.
-
Se você estiver usando executores maiores com a rede privada do Azure, configure-a para permitir acesso externo aos hosts necessários para Agente de nuvem Copilot:
uploads.github.comuser-images.githubusercontent.com-
`api.individual.githubcopilot.com` (se você espera que os usuários de Copilot Pro ou Copilot Pro+ usem Agente de nuvem Copilot no seu repositório) -
`api.business.githubcopilot.com` (se você espera que os usuários de Copilot Business usem o Agente de nuvem Copilot em seu repositório) -
`api.enterprise.githubcopilot.com` (se você espera que os usuários de Copilot Enterprise usem o Agente de nuvem Copilot em seu repositório) - Se você estiver usando o agente de terceiros OpenAI Codex (para obter mais informações, consulte Sobre agentes de terceiros):
npmjs.orgnpmjs.comregistry.npmjs.comregistry.npmjs.orgskimdb.npmjs.com
-
Use um arquivo
copilot-setup-steps.ymlno seu repositório para configurar Agente de nuvem Copilot para executar em seus executores escolhidos. Defina a faseruns-ondo trabalhocopilot-setup-stepspara o rótulo e/ou grupo que você quer que os corredores maiores utilizem Copilot. Para obter mais informações sobre como especificar corredores maiores comruns-on, consulte Como executar trabalhos em executores maiores.# ... jobs: copilot-setup-steps: runs-on: ubuntu-4-core # ...
Observação
* Agente de nuvem Copilot é compatível apenas com os executores Ubuntu x64 Linux e Windows de 64 bits. Não há suporte para runners com macOS ou outros sistemas operacionais.
Usando corredores auto-hospedados GitHub Actions
Você pode executar Agente de nuvem Copilot em runners auto-hospedados. Talvez você queira fazer isso para alinhar à forma como executa fluxos de trabalho de CI/CD no GitHub Actions, ou para dar ao Copilot acesso a recursos internos em sua rede.
Recomendamos que você use Agente de nuvem Copilot apenas com executores efêmeros de uso único que não são reutilizados para vários trabalhos. A maioria dos clientes configura isso usando o ARC (Actions Runner Controller) ou o Runner Scale Set Client do GitHub Actions. Para saber mais, confira Referência de executores auto-hospedados.
Observação
Agente de nuvem Copilot é compatível apenas com os executores do Ubuntu x64 e do Windows de 64 bits. Não há suporte para runners com macOS ou outros sistemas operacionais.
-
Configure controles de segurança de rede para seus GitHub Actions executores para garantir que Agente de nuvem Copilot não tenha acesso aberto à sua rede ou à Internet pública.
Você deve configurar o firewall para permitir conexões com os hosts padrão necessários para GitHub Actions executores auto-hospedados, além dos seguintes hosts:
uploads.github.comuser-images.githubusercontent.com-
`api.individual.githubcopilot.com` (se você espera que os usuários de Copilot Pro ou Copilot Pro+ usem Agente de nuvem Copilot no seu repositório) -
`api.business.githubcopilot.com` (se você espera que os usuários de Copilot Business usem o Agente de nuvem Copilot em seu repositório) -
`api.enterprise.githubcopilot.com` (se você espera que os usuários de Copilot Enterprise usem o Agente de nuvem Copilot em seu repositório) - Se você estiver usando o agente de terceiros OpenAI Codex (para obter mais informações, consulte Sobre agentes de terceiros):
npmjs.orgnpmjs.comregistry.npmjs.comregistry.npmjs.orgskimdb.npmjs.com
-
Desabilite Agente de nuvem Copiloto firewall integrado em suas configurações de repositório. O firewall não é compatível com executores auto-hospedados. A menos que isso esteja desabilitado, o uso de Agente de nuvem Copilot será bloqueado. Para saber mais, confira Personalizando ou desabilitando o firewall para o agente de nuvem do GitHub Copilot.
-
No arquivo
copilot-setup-steps.yml, defina o atributoruns-oncom o nome do seu conjunto de dimensionamento gerenciado pelo ARC:# ... jobs: copilot-setup-steps: runs-on: arc-scale-set-name # ... -
Se você quiser configurar um servidor proxy para Agente de nuvem Copilotconexões com a Internet, configure as seguintes variáveis de ambiente conforme apropriado:
Variable Description Example https_proxyURL de proxy para tráfego HTTPS. Você pode incluir a autenticação básica, se necessário. http://proxy.localhttp://192.168.1.1:8080http://username:password@proxy.localhttp_proxyURL de proxy para tráfego HTTP. Você pode incluir a autenticação básica, se necessário. http://proxy.localhttp://192.168.1.1:8080http://username:password@proxy.localno_proxyUma lista separada por vírgulas de hosts ou endereços IP que devem ignorar o proxy. Alguns clientes só respeitam endereços IP quando as conexões são feitas diretamente com o IP em vez de um nome de host. example.comexample.com,myserver.local:443,example.org| `ssl_cert_file` | O caminho para o certificado SSL apresentado pelo servidor proxy. Você precisará configurar o necessário se o seu proxy interceptar conexões SSL. | `/path/to/key.pem` |
| node_extra_ca_certs | O caminho para o certificado SSL apresentado pelo servidor proxy. Você precisará configurar o necessário se o seu proxy interceptar conexões SSL. | /path/to/key.pem |
Você pode definir essas variáveis de ambiente seguindo as [instruções abaixo](#setting-environment-variables-in-copilots-environment) ou definindo-as diretamente no executor, por exemplo, com uma imagem de executor personalizada. Para obter mais informações sobre como criar uma imagem personalizada, consulte [AUTOTITLE](/actions/concepts/runners/actions-runner-controller#creating-your-own-runner-image).
Alternar Copilot para um ambiente de desenvolvimento do Windows
Por padrão, Copilot usa um ambiente de desenvolvimento baseado em Linux do Ubuntu.
Talvez você queira usar um ambiente de desenvolvimento do Windows se estiver criando software para Windows ou seu repositório usar uma cadeia de ferramentas baseada no Windows de modo que Copilot possa criar seu projeto, executar testes e validar seu trabalho.
Agente de nuvem CopilotO firewall integrado não é compatível com o Windows, portanto, recomendamos que você use apenas corredores auto-hospedados ou corredores hospedados com GitHubrede privada do Azure, em que você pode implementar seus próprios controles de rede. Para obter mais informações sobre executores com rede privada do Azure, consulte [AUTOTITLE](/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/about-azure-private-networking-for-github-hosted-runners-in-your-enterprise).
Para usar o Windows com executores auto-hospedados, siga as instruções na seção Usando executores auto-hospedados GitHub Actions acima, usando o rótulo para seus executores do Windows. Para usar o Windows com executores hospedados maiores GitHub, siga as instruções na seção Atualizar para corredores maiores acima, usando o rótulo para os executores do Windows.
Ativando o Git Large File Storage (LFS)
Se você usar o Git Large File Storage (LFS) para armazenar arquivos grandes em seu repositório, será necessário personalizar Copiloto ambiente para instalar o Git LFS e buscar objetos LFS.
Para habilitar o Git LFS, adicione uma etapa actions/checkout ao trabalho copilot-setup-steps com a opção lfs definida como true.
# ...
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read # for actions/checkout
steps:
- uses: actions/checkout@v5
with:
lfs: true
# ...
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read # for actions/checkout
steps:
- uses: actions/checkout@v5
with:
lfs: true
Definindo variáveis de ambiente no Copilotambiente
Talvez você queira definir variáveis de ambiente no Copilotambiente para configurar ou autenticar ferramentas ou dependências às quais ela tem acesso.
Para definir uma variável de ambiente para Copilot, crie uma variável ou segredo GitHub Actions no ambiente copilot. Se o valor contiver informações confidenciais, por exemplo, uma senha ou chave de API, é melhor usar um GitHub Actions segredo.
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Settings. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

-
Na barra lateral esquerda, clique em Ambientes.
-
Clique no ambiente
copilot. -
Para adicionar um segredo, em "Environment secrets", clique em Add environment secret. Para adicionar uma variável, em "Environment variables", clique em Add environment variable.
-
Preencha os campos "Name" e "Value" e clique em Add secret ou Add variable conforme apropriado.
Leitura adicional
-
[AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent)