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) -
[Fazer upgrade de executores padrão hospedados pelo GitHub GitHub Actions para executores maiores](#upgrading-to-larger-github-hosted-github-actions-runners) -
[Executar em executores auto-hospedados do GitHub Actions ](#using-self-hosted-github-actions-runners) -
[Give Copilot um ambiente de desenvolvimento 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-cloud-agent).
Observação
Os proprietários da organização podem configurar o tipo de executor padrão para agente de nuvem Copilot em todos os repositórios da organização e escolher se os repositórios poderão substituir esse padrão. Para obter mais informações, consulte Configurando runners do agente de nuvem do GitHub Copilot em sua organização.
Personalizando o ambiente de desenvolvimento do Copilot com as etapas de configuração do Copilot
Você pode personalizar o ambiente do Copilot criando um arquivo de fluxo de trabalho especial do GitHub Actions, localizado em .github/workflows/copilot-setup-steps.yml dentro do 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 obter mais informações, consulte 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. Consulte Acompanhando as 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
No seu ambiente de desenvolvimento efêmero, Copilot pode construir 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 Copilot para instalar deterministicamente ferramentas ou dependências antes de Copilot 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 executores maiores hospedados pelo GitHub GitHub Actions
Por padrão, Copilot funciona em um executor padrão GitHub Actions . Você pode atualizar para executores maiores para obter melhor desempenho em CPU e memória, mais espaço em disco e recursos avançados, como rede privada do Azure. Para obter mais informações, consulte Executores avançados.
-
Configure os executores maiores para sua organização. Para obter mais informações, consulte Gerenciar executores maiores.
-
Se você estiver usando executores maiores com rede privada do Azure, configure sua rede privada do Azure para permitir o acesso de saída 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 em seu repositório) -
`api.business.githubcopilot.com` (caso você espere que os usuários de Copilot Business utilizem agente de nuvem Copilot em seu repositório) -
`api.enterprise.githubcopilot.com` (se você espera que Copilot Enterprise usuários usem agente de nuvem Copilot em seu repositório) - Se você estiver usando o OpenAI Codex agente de terceiros (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 etaparuns-ondo trabalhocopilot-setup-stepspara o rótulo e/ou grupo dos executores maiores que você deseja que Copilot use. 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 o Ubuntu x64 Linux e o Windows de 64 bits. Não há suporte para runners com macOS ou outros sistemas operacionais.
Usando executores GitHub Actions auto-hospedados
Você pode executar agente de nuvem Copilot em executores 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 e de uso único, que não sejam reutilizados para vários trabalhos. A maioria dos clientes configura isso usando o ARC (Controlador do Executor de Ações) ou o Cliente do Conjunto de Escala do Executor do GitHub Actions. Para obter mais informações, consulte Referência de executores auto-hospedados.
Observação
agente de nuvem Copilot só é compatível com ambientes Ubuntu 64 bits e Windows 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 em seu repositório) -
`api.business.githubcopilot.com` (caso você espere que os usuários de Copilot Business utilizem agente de nuvem Copilot em seu repositório) -
`api.enterprise.githubcopilot.com` (se você espera que Copilot Enterprise usuários usem agente de nuvem Copilot em seu repositório) - Se você estiver usando o OpenAI Codex agente de terceiros (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 obter mais informações, consulte Personalizando ou desabilitando o firewall para GitHub Copilot agente de nuvem.
-
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).
Mudando Copilot para um ambiente de desenvolvimento Windows
Por padrão, Copilot usa um ambiente de desenvolvimento baseado em Linux do Ubuntu.
Talvez você queira usar um ambiente de desenvolvimento Windows se estiver criando software para Windows ou seu repositório usar uma cadeia de ferramentas baseada em Windows para que Copilot possa criar seu projeto, executar testes e validar seu trabalho.
O firewall integrado do agente de nuvem Copilot não é compatível com Windows, portanto recomendamos que você use apenas executores auto-hospedados ou executores maiores hospedados pelo GitHub com rede privada do Azure, onde 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 GitHub Actions auto-hospedados acima, utilizando o rótulo dos seus executores do Windows. Para usar Windows com executores maiores hospedados pelo GitHub, siga as instruções na seção Atualizando para executores maiores acima, usando o rótulo para seus executores 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 ambiente do Copilot
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/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-firewall)