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.

Quem pode usar esse recurso?

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

As configurações de nível do repositório para o GitHub Codespaces estão disponíveis para todos os repositórios pertencentes a contas pessoais.

Para os repositórios pertencentes a organizações, as configurações de nível do repositório do GitHub Codespaces estão disponíveis para as organizações com os planos do GitHub Team e do GitHub Enterprise. Para acessar as configurações, a organização ou a empresa matriz precisa ter adicionado uma forma de pagamento e definido um limite de gastos para o GitHub Codespaces. Para obter mais informações, confira "Como escolher quem tem a propriedade e paga pelos codespaces em sua organização" e "Planos do GitHub."

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, confira "Gerenciar o acesso a outros repositórios em seu codespace".

Observações:

  • 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 asocto-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 obter mais informações, confira "Configurando as pré-criações".

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

Se o projeto exigir acesso para gravação em recursos ou se os recursos externos residirem em um repositório com 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 "Criar uma conta no GitHub" e "Fortalecimento de segurança para o GitHub Actions."

  2. Dê a nova conta acesso de leitura aos repositórios necessários. Para obter mais informações, confira "Gerenciar o acesso de um indivíduo 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 "Gerenciar seus tokens de acesso pessoal".

    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.

    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 "Configurando o controle de acesso e visibilidade de um pacote".

  4. Clique em Configurar SSO e autorize o token para uso com logon único (SSO) SAML, para que ele possa acessar repositórios pertencentes a organizações com SSO ativado. Para obter mais informações, confira "Autorizar o uso de um token de acesso pessoal para uso com logon único SAML".

    Captura de tela da página "Personal access tokens (classic)". O botão "Configurar SSO" para um PAT é realçado com um contorno laranja escuro.

  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 "Gerenciando segredos do ambiente de desenvolvimento para seu repositório ou organização".

O personal access token será usado para todos os próximos pré-buids criados para o repositório. Ao contrário de outros segredos de 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