# Permitir que um prebuild acesse outros repositórios

Você pode permitir que o prebuild acesse outros GitHub repositórios para que a compilação seja bem-sucedida.

Por padrão, o fluxo de trabalho GitHub Actions de uma configuração de pré-compilação só pode acessar o conteúdo do próprio repositório. Seu projeto pode usar recursos adicionais, localizados em outro lugar, para criar o ambiente de desenvolvimento.

## Permitir que um prebuild tenha acesso de leitura a recursos externos

Você pode configurar acesso de leitura a outros repositórios GitHub, com o mesmo proprietário, especificando permissões no arquivo `devcontainer.json` usado pela sua configuração de pré-compilação. Para saber mais, confira [Gerenciar o acesso a outros repositórios em seu codespace](/pt/codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces).

> \[!NOTE]
>
> * Você só pode autorizar permissões de leitura dessa forma, e o proprietário do repositório de destino deve ser o mesmo que o proprietário do repositório para o qual você está criando um prebuild. Por exemplo, se você estiver criando uma configuração de pré-build para o `octo-org/octocatrepository`, poderá conceder permissões de leitura para outros repositórios, como `octo-org/octodemo`, se isso for especificado no arquivo `devcontainer.json` e desde que você tenha as permissões.
> * Não é possível usar curingas para especificar repositórios. Você deve definir permissões para cada repositório ao qual deseja conceder acesso.

Ao criar ou editar uma configuração de prebuild para um arquivo `devcontainer.json` que configura o acesso de leitura para outros repositórios com o mesmo proprietário do repositório, você deverá conceder essas permissões quando clicar em **Criar** ou **Atualizar**. Para saber mais, confira [Configurando as pré-compilações](/pt/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-prebuilds).

## Permitir que um prebuild tenha acesso para gravação em recursos externos

Se o projeto exigir acesso de gravação aos recursos ou se os recursos externos residirem em um repositório com um proprietário diferente do repositório para o qual você está criando uma configuração de pré-buil, você poderá usar um personal access token para conceder esse acesso.

Você precisará criar uma nova conta pessoal e, em seguida, usar essa conta para criar uma personal access token (classic) com os escopos apropriados.

1. Crie uma nova conta pessoal em GitHub.

   > \[!WARNING]
   > Embora você possa gerar o personal access token (classic) usando sua conta pessoal existente, recomendamos fortemente criar uma nova conta com acesso apenas aos repositórios de destino necessários para o seu cenário. Isso porque a permissão `repository` do token de acesso permite acesso em todos os repositórios aos quais a conta tem acesso. Para saber mais, confira [Criando uma conta no GitHub](/pt/account-and-profile/how-tos/account-management/creating-an-account-on-github) e [Referência de uso seguro](/pt/actions/reference/security/secure-use).

2. Dê a nova conta acesso de leitura aos repositórios necessários. Para saber mais, confira [Gerenciar o acesso de um indivíduo a um repositório da organização](/pt/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-an-individuals-access-to-an-organization-repository).

3. Ao entrar na nova conta, crie um personal access token (classic) com o escopo `repo`. Opcionalmente, se o prebuild precisar baixar pacotes a partir de GitHubContainer registry, selecione também o escopo `read:packages`. Para saber mais, confira [Gerenciar seus tokens de acesso pessoal](/pt/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).

   ![Captura de tela das opções de configuração "Selecionar escopos" para um personal access token (classic), com os escopos "repositório" e "read:packages" selecionados.](/assets/images/help/codespaces/prebuilds-select-scopes.png)

   Se o pré-build usar um pacote de GitHubContainer registry, você precisará conceder à nova conta acesso ao pacote ou configurar o pacote para herdar as permissões de acesso do repositório para o qual você está fazendo o pré-build. Para saber mais, confira [Configurando o controle de acesso e visibilidade de um pacote](/pt/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility).

4. Copie a string do token. Você atribuirá isso a um segredo de repositório Codespaces.

5. Efetue novamente o login na conta com acesso de administrador ao repositório.

6. No repositório para o qual você deseja criar pré-builds GitHub Codespaces, crie um novo segredo de repositório Codespaces chamado `CODESPACES_PREBUILD_TOKEN`, dando a ele o valor do token que você criou e copiou. Para saber mais, confira [Gerenciando segredos de ambiente de desenvolvimento para seu repositório ou organização](/pt/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization#adding-secrets-for-a-repository).

O personal access token será usado para todas as compilações prévias seguintes criadas para o seu repositório. Ao contrário de outros segredos de repositório Codespaces, o segredo `CODESPACES_PREBUILD_TOKEN` é usado apenas para pré-build e não estará disponível para uso em codespaces criados do seu repositório.

## Leitura adicional

* [Configurando as pré-compilações](/pt/codespaces/prebuilding-your-codespaces/configuring-prebuilds)
* [Solução de problemas de pré-compilações](/pt/codespaces/troubleshooting/troubleshooting-prebuilds)