Sobre sandboxes na nuvem
Um sandbox em nuvem é um ambiente Linux isolado que o GitHub cria para uma Copilot sessão. Quando você trabalha em um ou mais repositórios, Copilot clona cada um deles no sandbox, executa comandos e testes e faz alterações lá. Como a sessão não é executada em seu computador, você pode executar várias sessões em paralelo sem usar recursos locais e não precisa permanecer conectado enquanto Copilot trabalha.
Você não cria nem gerencia sandboxes na nuvem por conta própria. GitHub cria uma instância quando você inicia uma sessão que é executada na nuvem.
Continuar sessões em diferentes clientes
Como as sessões de sandbox na nuvem são executadas na infraestrutura hospedada em GitHub, você pode retomar uma sessão do Copilot em qualquer cliente, independentemente de onde a sessão foi iniciada originalmente. Isso permite fluxos de trabalho mais flexíveis sem a necessidade de copiar arquivos ou reinstalar dependências.
Descarregar fluxos de trabalho com uso intensivo de computação
Você pode executar várias Copilot sessões em paralelo na nuvem sem consumir recursos locais. Isso mantém o ambiente local leve e responsivo ao dimensionar o trabalho controlado pelo agente.
Sandboxes na nuvem e sandboxing local
Sandboxes em nuvem e sandbox local resolvem problemas diferentes. Uma sandbox na nuvem move toda a sessão para fora da sua máquina. O isolamento local em sandbox mantém a sessão em sua máquina, mas limita quais recursos Copilot consegue acessar.
Observação
Sandboxes em nuvem e sandboxes locais são tecnologias separadas. Uma sandbox em nuvem é um ambiente hospedado em GitHub, que executa toda a sessão. O sandboxing local é um conjunto de restrições do sistema operacional em seu próprio computador. Configurações, políticas e comandos para um não se aplicam ao outro.
| Sandboxes na nuvem | Isolamento local em sandbox | |
|---|---|---|
| Onde Copilot roda | Em um ambiente Linux isolado hospedado por GitHub | Em seu computador |
| Para que serve | Executar sessões sem usar seu computador | Limitando quais recursos os comandos de Copilot podem acessar em seu computador |
| Onde você o usa | Sessões na nuvem que você inicia com Copilot no site GitHub, GitHub Mobile, Slack, Microsoft Teams, o GitHub Copilot app, Visual Studio Code e o Copilot SDK | |
| Copilot CLI e o GitHub Copilot app | ||
| Como você começa a usá-lo | Nenhuma configuração separada. Ele está disponível quando você usa os Copilot recursos que funcionam nele. | Ative isso em Copilot CLI ou no GitHub Copilot app, ou sua empresa pode exigir isso. |
Para obter mais informações sobre isolamento local em sandbox, consulte Sobre o sandboxing local para GitHub Copilot.
Onde Copilot usa sandboxes na nuvem
Por padrão, Copilot executa uma sessão na nuvem em uma sandbox na nuvem quando você a inicia em qualquer um destes locais:
- A interface de chat no site GitHub
- GitHub Mobile
- Slack e Microsoft Teams
- O GitHub Copilot app
- Visual Studio Code
- Sessões na nuvem no Copilot SDK
Em Copilot CLI, as sessões são executadas no computador por padrão. Você também pode iniciar uma sessão em uma sandbox na nuvem. Confira como iniciar uma sessão de nuvem a partir de Copilot CLI.
Escolhendo onde Copilot é executado
Copilot pode executar uma sessão em um destes ambientes:
- Nuvem: Copilot executa a sessão em um sandbox na nuvem que GitHub hospeda.
- Ações: Copilot cloud agent executa a sessão em um GitHub Actions job, em um GitHub-hosted runner ou em um runner que você configura.
As sessões também podem ser executadas em seu próprio computador, por exemplo, no Copilot CLI ou no GitHub Copilot app. Essas sessões não usam uma sandbox na nuvem.
Onde você pode escolher entre Nuvem e Ações, a nuvem é o padrão. Você escolhe o ambiente quando a sessão é iniciada e não pode alterá-lo posteriormente. Para usar um ambiente diferente, inicie uma nova sessão.
A maneira como você escolhe e de quais ambientes você pode escolher depende do cliente do qual você inicia a sessão. Para obter as etapas em cada cliente, consulte Iniciando sessões do GitHub Copilot.
Escolha Actions se o repositório depender de personalizações que só funcionamGitHub Actions, como etapas de instalação, executores maiores ou auto-hospedados ou um ambiente de desenvolvimento Windows. Caso contrário, use Cloud. Para obter detalhes, consulte Personalizando uma sessão de área restrita de nuvem.
Iniciando uma sessão de nuvem a partir de Copilot CLI
Para iniciar uma sessão Copilot CLI em uma sandbox na nuvem, execute:
copilot --cloud
copilot --cloud
A opção de linha de comando --cloud inicia uma sessão interativa Copilot CLI em uma sandbox na nuvem. Você pode solicitar que Copilot execute tarefas, execute comandos de shell e itere no código, assim como faria em uma sessão local. Os comandos que Copilot executa são executados na área restrita da nuvem, não no computador local.
A opção --cloud se aplica somente à sessão que você começa com ela. Para executar outra sessão em uma área restrita de nuvem, inicie a CLI novamente --cloud . Você só pode usar --cloud para sessões interativas, portanto, você não pode combiná-lo com as opções -i ou -p.
Ciclo de vida da sessão
Quando você volta para uma sessão, ela continua com seus arquivos e o trabalho em andamento intactos. Enquanto uma sessão é interrompida, o sandbox na nuvem mantém um snapshot de seu estado para que você possa continuar de onde parou.
Isolamento e acesso à rede
Cada sandbox na nuvem é isolada do computador e de outras sessões. Como a sessão não é executada em seu computador, os comandos que Copilot executa em uma área restrita de nuvem não podem ler ou alterar os arquivos em seu computador.
O acesso à rede de uma sandbox na nuvem segue as mesmas configurações de firewall de Copilot cloud agent, incluindo a lista de permissões recomendada e as regras de lista de permissões personalizadas que os proprietários da organização ou do repositório adicionam. Para obter mais informações, consulte Personalizando ou desabilitando o firewall para GitHub Copilot.
Se Copilot precisar alcançar um host que não esteja na lista de permissões, adicione o host à lista de permissões e inicie uma nova sessão. As alterações de lista de permissões não se aplicam a sessões que j�� estão em execução.
Personalizando uma sessão de área restrita de nuvem
Você pode personalizar as configurações da sandbox na nuvem em github.com/copilot/customize. Você também pode levar suas instruções pessoais, habilidades e agentes personalizados para sessões de sandbox na nuvem usando um repositório dotfiles com um diretório raiz .copilot. Os dotfiles são copiados quando uma sandbox é criada ou retomada, sem executar scripts de instalação. Essa personalização não está disponível em sessões baseadas em GitHub Actions. Para obter diretrizes de configuração, consulte Personalizando suas sessões de nuvem.
Outras personalizações usam GitHub Actions, portanto, aplicam-se apenas às sessões executadas em Ações: elas incluem:
- Etapas de configuração em um arquivo
copilot-setup-steps.yml, incluindo etapas que fazem login em provedores de nuvem com OIDC (OpenID Connect) - Runners maiores e auto-hospedados
- ambientes de desenvolvimento Windows
Se o repositório depender de qualquer um deles, escolha Ações ao delegar a tarefa. Para obter detalhes, consulte Configurar o ambiente de desenvolvimento para agentes no GitHub Actions.
Se você deseja um nível mais alto de personalização, poderá registrar um computador ou codespace Linux como um ambiente personalizado e selecioná-lo em um cliente que dê suporte a ambientes personalizados. Ao contrário de uma sandbox na nuvem, você gerencia o host, suas ferramentas e dependências e seu ciclo de vida. Consulte Criando um ambiente personalizado para agentes.
Access
Sandboxes na nuvem usam sua Copilot autenticação existente. Você não precisa configurar um provedor de nuvem separado, gerenciar chaves de API ou configurar a infraestrutura.
Sandboxes na nuvem não têm uma política de acesso separada. Se você obtiver Copilot por meio de uma organização ou empresa, a política Copilot in the cloud controlará se você pode iniciar sessões executadas em uma área restrita na nuvem. A política é habilitada por padrão. Para obter informações para administradores, consulte Gerenciando sandboxes na nuvem para sua organização ou empresa.
Billing
O sandboxing em nuvem é cobrado de acordo com o uso. GitHub mede o uso da sandbox em nuvem em três métricas:
| Medidor | Description | Unidade | Preço (USD) |
|---|---|---|---|
| Computação | Tempo durante o qual uma sessão de sandbox na nuvem está em execução. | vCPU por segundo | US$ 0,000024 |
| Memória | Memória alocada a uma sessão de sandbox na nuvem enquanto está em execução. | GiB segundo | US$ 0,000003 |
| Armazenamento | Armazenamento de instantâneos para sessões interrompidas. | Mês do GiB | US$ 0,005 |
Para obter mais informações sobre como o uso da área restrita de nuvem é medido e cobrado, consulte Cobrança para áreas restritas locais e de nuvem para GitHub Copilot.