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. Autorizar o token para uso com o logon único SAML (SSO), para que ele possa acessar repositórios que são propriedade de organizações com SSO habilitado. Para obter mais informações, confira "Como autorizar um personal access token para uso com logon único de SAML".

    O botão para configurar o SSO para um personal access token (classic)

  5. Copie a string do token. Você irá atribuir isto a um segredo de repositório de Codespaces.

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

  7. 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