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çã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, como octo-org/octodemo
, 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 "Configurando as pré-criaçõ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.
-
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 "Fazer o registro em uma conta conta do GitHub" e "Fortalecimento de segurança para o GitHub Actions." -
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".
-
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 escoporead:packages
. Para obter mais informações, confira "Gerenciar seus tokens de acesso pessoal".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".
-
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".
-
Copie a string do token. Você irá atribuir isto a um segredo de repositório de Codespaces.
-
Efetue novamente o login na conta com acesso de administrador ao repositório.
-
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 para seu repositório e sua 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.