Skip to main content

Permitir que um prebuild acesse outros repositórios

Você pode permitir que sua pré-compilação acesse outros repositórios do GitHub para que ela possa ser construída com sucesso.

Who can use this feature

People with admin access to a repository can configure prebuilds for the repository.

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. 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 o acesso de leitura para outros repositórios do GitHub, com o mesmo proprietário do repositório, especificando permissões no arquivo devcontainer.json usado pela configuração de prebuild. Para obter mais informações, veja "Gerenciando o acesso a outros repositórios em seu codespace".

Observação: 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 prebuild para o repositório do octo-org/octocat, poderá conceder permissões de leitura para outros repositórios do octo-org/* se isso for especificado no arquivo devcontainer.json e desde que você tenha as permissões.

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 obter mais informações, confira "Como configurar pré-compilações".

Permitir que um prebuild tenha acesso de gravação a 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 que o do repositório em que você está criando uma configuração de pré-build, use um personal access token para permitir esse acesso.

Você precisará criar uma conta pessoal e usá-la para criar um personal access token (classic) com os escopos adequados.

  1. Crie uma nova conta pessoal em GitHub.

    Aviso: embora você possa gerar o personal access token (classic) usando a conta pessoal existente, recomendamos expressamente a criação de uma conta com acesso somente aos repositórios de destino necessários para o 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 obter mais informações, confira "Como se inscrever em uma nova conta do GitHub" e "Proteção de segurança do GitHub Actions".

  2. Dê a nova conta acesso de leitura aos repositórios necessários. Para obter mais informações, confira "Como gerenciar o acesso de uma pessoa a um repositório da organização".

  3. Ao entrar na nova conta, crie um personal access token (classic) com o escopo repo. Opcionalmente, se o pré-build precisar baixar pacotes do GitHub Container registry, selecione também o escopo read:packages. Para obter mais informações, confira "Como criar um personal access token".

    Escopos 'repo' e 'packages' selecionados para um personal access token (classic)

    Se a pré-compilação usar um pacote do GitHub Container registry, você deverá conceder o novo acesso à nova conta ao pacote ou configurar o pacote para herdar as permissões de acesso do repositório que você está pré-compilando. Para obter mais informações, confira "Como configurar o controle de acesso e a visibilidade de um pacote".

  4. Copie a string do token. Você irá atribuir isto a um segredo de repositório de 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 o pré-build dos GitHub Codespaces, crie um segredo de repositório do Codespaces chamado CODESPACES_PREBUILD_TOKEN, fornecendo o valor do token que já criou e copiou. Para obter mais informações, confira "Como gerenciar segredos criptografados do repositório e da organização para o GitHub Codespaces".

O personal access token será usado para todos os próximos pré-buids criados para o repositório. Ao contrário de outros segredos do repositório do Codespaces, o segredo CODESPACES_PREBUILD_TOKEN é usado apenas para pré-builds e não estará disponível para uso em codespaces criados por meio do seu repositório.

Leitura adicional