Note: The ability to prebuild codespaces is currently in beta and subject to change.
É possível definir uma configuração de pré-criação para um branch específico do repositório.
Qualquer branch criado a partir de um branchde base pré-compilado normalmente também receberá uma pré-compilação durante a criação do codespace. Isso é verdade se o contêiner de desenvolvimento no branch for o mesmo que no branch de base. Isso ocorre porque a maioria da configuração de pré-compilação para branches com a mesma configuração de contêiner de desenvolvimento são idênticos, para que os desenvolvedores possam se beneficiar de horários de criação de codespaces mais rápidos também nesses branches. Para obter mais informações, consulte "Introdução a contêineres de desenvolvimento".
Normalmente, ao configurar pré-compilações para um branch, as pré-compilações estarão disponíveis para tipos de máquinas de Codespaces para esse branch. No entanto, se seu repositório tiver um tamanho superior a 32 GB, as pré-compilações não estarão disponíveis para tipos de máquina 2-core e 4-core, uma vez que o armazenamento previsto é limitado a 32 GB.
Pré-requisitos
Antes de configurar as pré-compilações para seu projeto, os pontos a seguir devem ser verdadeiros:
- GitHub Codespaces deve estar habilitado para sua organização. Para obter mais informações, consulte "Habilitando Codespaces para a sua organização".
- GitHub Actions deve estar habilitado para o seu repositório. Cada configuração de pré-compilação deve poder acionar um fluxo de trabalho de ações. Para obter mais informações, consulte "Gerenciar configurações de GitHub Actions para um repositório".
Configurando uma pré-compilação
-
No GitHub.com, navegue até a página principal do repositório.
-
No nome do seu repositório, clique em Configurações.

-
Na seção "Código & automação" da barra lateral, clique em Codespaces.
-
Em "Configuração de pré-compilação", clique em Configurar pré-compilação.

-
Escolha o branch para o qual você deseja configurar uma pré-compilação.

Observação: Todos os branches criados a partir de um branch de base pré-habilitado normalmente também obtêm pré-compilações. Por exemplo, se você habilitar pré-compilações para o branch padrão do repositório, os branches baseados no branch padrão também obterão, na maioria dos casos, pré-compilações.
-
Escolha as regiões nas quais você deseja configurar uma pré-construção. Os desenvolvedores devem estar localizados em uma região selecionada para poderem criar codespaces a partir de uma pré-compilação. Como alternativa, selecione Todas as regiões.

Atenção:
- O modelo de pré-compilação para cada região irá incorrer em taxas individuais. Por conseguinte, só devem ser permitidas pré-construções para regiões em que se sabe que serão utilizadas. Para obter mais informações, consulte "Sobre pré-compilações de Codespaces".
- Os desenvolvedores podem definir sua região padrão para Codespaces, que pode permitir que você habilite pré-compilações para menos regiões. Para obter mais informações, consulte "Definindo a sua região padrão para Codespaces".
-
Clique em Criar.
A configuração de pré-compilação está listada na página do Codespaces das configurações do seu repositório. Um fluxo de trabalho de GitHub Actions está enfileirado e é executado para criar modelos de pré-compilação com base no branch que você selecionou nas regiões que você especificou.
Observação: Por padrão, o fluxo de trabalho de GitHub Actions para uma configuração de pré-compilação só pode acessar recursos no seu próprio repositório. Se o seu projeto usar recursos de fora do repositório, você deverá definir o segredo
CODESPACES_PREBUILD_TOKENpara permitir o acesso necessário. Para obter mais informações, consulte "Permitir uma pré-compilação para acessar recursos externos".
Configurando o acesso a recursos que não estão no repositório
Por padrão, o fluxo de trabalho de GitHub Actions para uma configuração de pré-compilação só pode acessar o próprio conteúdo do repositório. Se o seu projeto precisa acessar recursos externos para compilar o ambiente de desenvolvimento, você deverá configurar um token de acesso pessoal (PAT) com os escopos de acesso apropriados.
Para obter mais informações, consulte "Permitir uma pré-compilação para acessar recursos externos".
Configurar variáveis de ambiente
Para permitir que o processo de pré-compilação acesse as variáveis de ambiente necessárias para criar seu ambiente de desenvolvimento. Você pode defini-las como segredos de repositório de Codespaces ou como segredos da organização de Codespaces. Para obter mais informações, consulte "Adicionando segredos para um repositório" e "Adicionando segredos a uma organização".
As pré-compilações não usam nenhum segredo de nível de usuário ao construir seu ambiente, porque elas não são adicionadas até que o codespace seja criado.
Os segredos de Codespaces que você criar desta forma serão acessíveis por qualquer pessoa que crie um codespace a partir deste repositório. Se você não quiser isso, você pode definir o segredo CODESPACES_PREBUILD_TOKEN. O segredo CODESPACES_PREBUILD_TOKEN é usado apenas para pré-compilação e seu valor não pode ser acessado nos codespaces dos usuários. Para obter mais informações, consulte "Permitir uma pré-compilação para acessar recursos externos".
Configurando tarefas demoradas a serem incluídas na pré-compilação
Você pode usar os comandos onCreateCommand e updateContentCommand no seu devcontainer.json paraa incluir processos demorados como parte da criação de template de pré-compilação. Para obter mais informações, consulte a documentação do Visual Studio "referência do devcontainer.json".
onCreateCommand é executado apenas uma vez, quando o modelo de pré-compilação é criado, enquanto updateContentCommand é executado na criação do modelos e em subsequentes atualizações dos modelos. As compilações incrementais devem ser incluídas em updateContentCommand uma vez que representam a fonte do seu projeto e devem ser incluídas para cada atualização de um modelo de pré-compilação.

