Sobre o armazenamento externo para GitHub Actions
GitHub Actions usa o armazenamento de blobs externo para armazenar dados gerados por execuções de fluxo de trabalho. Os dados armazenados incluem logs de fluxo de trabalho, caches e artefatos de compilação carregados pelo usuário. Para saber mais, confira "Primeiros passos com o GitHub Actions para o GitHub Enterprise Server".
Há duas opções para configurar o GitHub Enterprise Server para se conectar ao provedor de armazenamento externo:
- OIDC (OpenID Connect)
- Autenticação tradicional baseada em credenciais usando segredos
É recomendável usar o OIDC sempre que possível, pois você não precisará criar ou gerenciar segredos de credenciais confidenciais e de longa duração para seu provedor de armazenamento e arriscar que eles sejam expostos. Depois de definir uma relação de confiança com o OIDC, seu provedor de armazenamento em nuvem emite automaticamente tokens de acesso de curta duração para sua instância do GitHub Enterprise Server, que expiram automaticamente.
Pré-requisitos
Antes de habilitar GitHub Actions, certifique-se de que você realizou os seguintes passos:
-
Crie sua conta de armazenamento do Azure para armazenar dados de fluxo de trabalho. GitHub Actions armazena seus dados como blobs de bloco, e dois tipos de conta de armazenamento são compatíveis:
-
Uma conta de armazenamento de uso geral (também conhecida como
general-purpose v1
ougeneral-purpose v2
) que usa o nível de desempenho standard.Aviso: não há suporte para o uso do nível de desempenho premium com uma conta de armazenamento de uso geral. O nível de desempenho standard precisa ser selecionado quando a conta de armazenamento é criada e não pode ser alterado posteriormente.
-
Uma conta de armazenamento BlockBlobStorage, que usa o nível de desempenho premium.
Para obter mais informações sobre os tipos de contas de armazenamento do Azure e os níveis de desempenho, confira a documentação do Azure.
-
-
Revisar os requisitos de hardware para GitHub Actions. Para obter mais informações, confira "Primeiros passos com o GitHub Actions para o GitHub Enterprise Server".
-
O TLS deve ser configurado para o domínio do GitHub Enterprise Server. Para obter mais informações, confira "Configurar o TLS".
Observação: É altamente recomendável que você configure a TLS em GitHub Enterprise Server com um certificado assinado por uma autoridade confiável. Embora um certificado autoassinado possa funcionar, é necessária uma configuração extra para os seus executores auto-hospedados, e não é recomendado para ambientes de produção.
-
Se você tiver um Servidor Proxy HTTP configurado no GitHub:
-
Você deve adicionar
.localhost
,127.0.0.1
e::1
à lista de Exclusão de Proxy HTTP (nessa ordem). -
Se o local de armazenamento externo não for encaminhável, você também precisará adicionar a URL de armazenamento externo à lista de exclusões.
Para obter mais informações sobre como alterar as configurações de proxy, confira "Configurando um servidor proxy Web de saída".
-
Se você estiver usando o OIDC para a conexão com seu provedor de armazenamento, precisará expor as seguintes URLs de serviço de token OIDC em sua instância do GitHub Enterprise Server à Internet pública:
https://HOSTNAME/_services/token/.well-known/openid-configuration https://HOSTNAME/_services/token/.well-known/jwks
Isso garante que o provedor de armazenamento possa entrar em contato com sua instância do GitHub Enterprise Server para autenticação.
Habilitar GitHub Actions com o armazenamento do Azure Blob usando OIDC (recomendado)
Para configurar o GitHub Enterprise Server para usar o OIDC com uma conta de armazenamento do Azure, você deve primeiro registrar um aplicativo do Microsoft Entra ID (o antigo Azure AD) com credenciais OIDC, depois configurar sua conta de armazenamento e, por fim, configurar o GitHub Enterprise Server para acessar o contêiner de armazenamento usando o Entra ID.
1. Registrar um aplicativo do Entra ID.
-
Faça logon no Centro de administração do Microsoft Entra.
-
Registre um novo aplicativo no Entra ID. Para obter mais informações, consulte Início rápido: Registrar um aplicativo na plataforma de identidade da Microsoft no Microsoft Learn.
-
Em seu aplicativo do Entra ID, em "Informações básicas", anote os valores de "ID do aplicativo (cliente)" e "ID do diretório (locatário)". Esses valores são usados posteriormente.
-
Em seu aplicativo do Entra ID, em "Gerenciar", clique em Certificados e segredos, selecione a guia Credenciais federadas e clique em Adicionar credencial.
-
Insira os seguintes detalhes da credencial:
-
Para "Cenário de credencial federada", selecione Outro emissor.
-
Para "Emissor", insira
https://HOSTNAME/_services/token
, em queHOSTNAME
é o nome do host público para sua instância do GitHub Enterprise Server. Por exemplo,https://my-ghes-host.example.com/_services/token
. -
Para "Identificador da entidade", insira o nome do host público para sua instância do GitHub Enterprise Server. Por exemplo,
my-ghes-host.example.com
.Observação: o identificador da entidade precisa ter apenas o nome do host de sua instância do GitHub Enterprise Server e não pode incluir o protocolo.
-
Em "Nome", insira um nome para a credencial.
-
Clique em Adicionar.
-
2. Configurar sua conta de armazenamento
-
No portal do Microsoft Azure, navegue até sua conta de armazenamento.
-
Clique em Controle de Acesso (IAM) e, em seguida, clique em Adicionar e selecione Adicionar atribuição de função.
-
Para a função, selecione "Proprietário de Dados do Blob de Armazenamento" e clique em Avançar.
-
Para membros, clique em Selecionar membros, pesquise pelo nome do aplicativo do Entra ID criado anteriormente e selecione-o. Clique em Selecionar.
-
Clique em Examinar + atribuir, examine a atribuição de função e clique novamente em Examinar + atribuir.
-
No menu à esquerda, em "Configurações", clique em Pontos de extremidade.
-
Em "Serviço Blob", anote o valor de "Serviço Blob", especificamente o sufixo do ponto de extremidade de blob. Esse é o valor após
https://<storageaccountname>.blob
. Normalmente, écore.windows.net
, mas pode variar dependendo da região do Azure ou do tipo de conta.Por exemplo, se a URL do serviço Blob for
https://my-storage-account.blob.core.windows.net
, o sufixo do ponto de extremidade de blob serácore.windows.net
.Observe o nome da conta de armazenamento e o sufixo do ponto de extremidade de blob, pois esses valores serão usados posteriormente.
3. Configurar GitHub Enterprise Server para se conectar ao Entra ID usando o OIDC
-
Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
-
Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
-
Na barra lateral " Administrador do site", clique em Console de Gerenciamento .
-
Na barra lateral "Configurações", clique em Ações.
-
Em "GitHub Actions", selecione Habilitar GitHub Actions.
-
Em "Armazenamento de Artefatos e Logs", ao lado de "Armazenamento de Blobs do Azure", clique em Configurar.
-
Em "Autenticação", selecione OIDC (OpenID Connect) e insira os valores do armazenamento anotados nos procedimentos anteriores:
- ID do locatário do Entra ID.
- ID do cliente do Entra ID.
- Nome da conta de armazenamento do Azure
- Sufixo de ponto de extremidade de blob do Azure 1. Clique no botão Testar configurações de armazenamento para validar as configurações de armazenamento.
Se houver erros ao validar as configurações de armazenamento, verifique as configurações no provedor de armazenamento e tente novamente.
-
Na barra lateral "Configurações", clique em Salvar configurações.
Observação: se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.
-
Aguarde a conclusão da execução de suas configurações.
Habilitar GitHub Actions com o Armazenamento de Blobs do Azure usando uma cadeia de conexão
-
Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
-
Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
-
Na barra lateral " Administrador do site", clique em Console de Gerenciamento .
-
Na barra lateral "Configurações", clique em Ações.
-
Em "GitHub Actions", selecione Habilitar GitHub Actions.
-
Em "Armazenamento de Artefatos e Logs", ao lado de "Armazenamento de Blobs do Azure", clique em Configurar.
-
Em "Autenticação", selecione Baseado em credenciais e insira a cadeia de conexão da sua conta de armazenamento do Azure. Para obter mais informações sobre como obter a cadeia de conexão para sua conta de armazenamento, confira a documentação do Azure.
-
Clique no botão Testar configurações de armazenamento para validar as configurações de armazenamento.
Se houver erros ao validar as configurações de armazenamento, verifique as configurações no provedor de armazenamento e tente novamente.
-
Na barra lateral "Configurações", clique em Salvar configurações.
Observação: se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.
-
Aguarde a conclusão da execução de suas configurações.
Próximas etapas
Depois que a execução da configuração tiver sido concluída com sucesso, GitHub Actions será habilitado em GitHub. Para suas próximas etapas, como gerenciar as permissões de acesso do GitHub Actions e adicionar executores auto-hospedados, retorne para "Primeiros passos com o GitHub Actions para o GitHub Enterprise Server".