Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste artigo, aprenda como configurar o GitHub Enterprise Server, a versão "on-premises" do GitHub.com, na sua cloud privada Azure VMware Solution. O cenário abrange uma instância do GitHub Enterprise Server que pode servir até 3.000 programadores a executar até 25 tarefas por minuto no GitHub Actions. Inclui (à data da escrita) a configuração de funcionalidades de pré-visualização, como as GitHub Actions. Para personalizar a configuração às suas necessidades específicas, consulte os requisitos listados em Instalação do GitHub Enterprise Server no VMware.
Antes de começar
O GitHub Enterprise Server requer uma chave de licença válida. Podes inscrever-te numa licença de teste. Se pretende expandir as capacidades do GitHub Enterprise Server através de uma integração, verifique se se qualifica para uma licença gratuita de programador de cinco utilizadores. Candidate-se a esta licença através do Programa de Parceiros do GitHub.
Instalar o GitHub Enterprise Server no VMware
Descarregue a versão atual do GitHub Enterprise Server para VMware ESXi/vSphere (OVA) e implemente o modelo OVA que descarregou.
Forneça um nome reconhecível para a sua nova máquina virtual, como GitHubEnterpriseServer. Não precisas de incluir os detalhes da versão no nome da VM, pois esses detalhes tornam-se obsoletos quando a instância é atualizada.
Seleciona todos os valores predefinidos por agora (detalhes a serem editados mais tarde) e espera que o OVA seja importado.
Depois de importado, ajusta a configuração do hardware de acordo com as tuas necessidades. No nosso cenário de exemplo, precisamos da seguinte configuração.
Recurso Configuração Padrão Configuração padrão + "Funcionalidades Beta" (Ações) vCPUs 4 8 Memória 32 GB 61 GB Armazenamento anexo 250 GB 300 GB Armazenamento raiz 200 GB 200 GB As suas necessidades podem variar. Consulte as orientações sobre considerações de hardware na Instalação do GitHub Enterprise Server no VMware. Veja também Adicionar recursos de CPU ou de memória para VMware para ajustar a configuração de hardware de acordo com a sua situação.
Configurar a instância do GitHub Enterprise Server
Depois de a máquina virtual (VM) recém-provisionada ser ligada, configure-a através do seu navegador. Tens de carregar o ficheiro da tua licença e definir uma palavra-passe da consola de gestão. Certifique-se de escrever esta palavra-passe num local seguro.
Recomendamos que pelo menos tomes os seguintes passos:
Carregue uma chave SSH pública para a consola de gestão para que possa aceder ao shell administrativo via SSH.
Configure o TLS na sua instância para que possa usar um certificado assinado por uma autoridade certificadora de confiança. Aplica as tuas definições.
Enquanto a instância reinicia, configure o armazenamento de blob para as ações do GitHub.
Nota
O GitHub Actions está atualmente disponível como uma versão beta limitada no GitHub Enterprise Server versão 2.22.
É necessário armazenamento externo em blob para ativar as Ações do GitHub no GitHub Enterprise Server (atualmente disponível como funcionalidade "beta"). As ações utilizam este armazenamento externo de blob para armazenar artefactos e registos. As ações no GitHub Enterprise Server suportam o Azure Blob Storage como fornecedor de armazenamento (e alguns outros). Precisas de criar uma nova conta de armazenamento Azure com um tipo de conta de armazenamento chamado BlobStorage.
Quando a nova implementação de recursos do BlobStorage estiver concluída, guarde a string de ligação (disponível em chaves de acesso) para usar mais tarde.
Depois de a instância reiniciar, crie uma nova conta de administrador na instância. Certifique-se de anotar também a palavra-passe deste utilizador.
Outros passos de configuração
Para reforçar a sua instância para uso em produção, recomendam-se os seguintes passos opcionais de configuração:
Configure alta disponibilidade para proteção contra:
- Falhas de software (ao nível do sistema operativo ou aplicação)
- Falhas de hardware (armazenamento, CPU, RAM, etc.)
- Falhas no sistema anfitrião de virtualização
- Rede lógica ou fisicamente cortada
Configureutilidades de backup, fornecendo snapshots versionados para recuperação de desastres, alojados em disponibilidade separada da instância principal.
Configurar isolamento de subdomínios, usando um certificado TLS válido, para mitigar o cross-site scripting e outras vulnerabilidades relacionadas.
Configurar o corredor GitHub Actions
Nota
O GitHub Actions está atualmente disponível como uma versão beta limitada no GitHub Enterprise Server versão 2.22.
Neste ponto, deves ter uma instância do GitHub Enterprise Server a correr, com uma conta de administrador criada. Também deves ter armazenamento externo em blob que o GitHub Actions usa para persistência.
Cria um local para que as Ações do GitHub sejam executadas usando o Azure VMware Solution.
Configura uma nova VM no cluster e baseia-a numa versão recente do Ubuntu Server.
Continue pela configuração selecionando o recurso de computação, armazenamento e compatibilidade.
Seleciona o sistema operativo convidado que queres instalar na VM.
Depois de criada a VM, inicie-a e estabeleça ligação a ela via SSH.
Instale a aplicação Actions runner, que executa um trabalho a partir de um fluxo de trabalho Actions no GitHub. Identifique e descarregue a versão Linux x64 mais recente do corredor Actions, seja a partir da página de lançamentos ou executando o seguinte script rápido. Este script exige que tanto o curl como o jq estejam presentes na sua VM.
LATEST\_RELEASE\_ASSET\_URL=$( curl https://api.github.com/repos/actions/runner/releases/latest | \ jq -r '.assets | .[] | select(.name | match("actions-runner-linux-arm64")) | .url' ) DOWNLOAD\_URL=$( curl $LATEST\_RELEASE\_ASSET\_URL | \ jq -r '.browser\_download\_url' ) curl -OL $DOWNLOAD\_URLAgora deves ter um ficheiro localmente na tua VM, action-runner-linux-arm64-.tar.gz. Extraia esta bola de alcatrão localmente:
tar xzf actions-runner-linux-arm64-\*.tar.gzEsta extração desempacota alguns ficheiros localmente, incluindo um
config.she um scriptrun.sh.
Ativar Ações no GitHub
Nota
O GitHub Actions está atualmente disponível como uma versão beta limitada no GitHub Enterprise Server versão 2.22.
Configure e ative as Ações do GitHub na instância do GitHub Enterprise Server.
Acede ao shell administrativo da instância do GitHub Enterprise Server via SSH e depois executa os seguintes comandos:
Define uma variável de ambiente que contenha a tua string de ligação de armazenamento Blob.
export CONNECTION\_STRING="<your connection string from the blob storage step>"Configurar o armazenamento de ações.
ghe-config secrets.actions.storage.blob-provider azure ghe-config secrets.actions.storage.azure.connection-string "$CONNECTION\_STRING`Aplica as definições.
ghe-config-applyExecute uma verificação preliminar para instalar o software adicional necessário para as Ações no GitHub Enterprise Server.
ghe-actions-precheck -p azure -cs "$CONNECTION\_STRING"Ativa ações e volta a aplicar a configuração.
ghe-config app.actions.enabled true ghe-config-applyVerifique o estado do armazenamento Blob.
ghe-actions-check -s blobDeves ver a saída: Blob Storage está saudável.
Agora que o GitHub Actions está configurado, ative-o para os seus utilizadores. Inicie sessão na sua instância do GitHub Enterprise Server como administrador e selecione o
ícone no canto superior direito de qualquer página.Na barra lateral esquerda, selecione Visão Geral Empresarial, depois Políticas, Ações e selecione a opção para ativar Ações para todas as organizações.
Configura o teu runner a partir do separador Runners auto-hospedados. Seleciona Adicionar novo e Novo runner no menu suspenso. É-te apresentado um conjunto de comandos para executar.
Copie o comando para configurar o runner, por exemplo:
./config.sh --url https://10.1.1.26/enterprises/octo-org --token AAAAAA5RHF34QLYBDCHWLJC7L73MACopia o
config.shcomando e cola-o numa sessão no teu executor de Ações (criado anteriormente).
Use o
./run.shcomando para executar o corredor:Tip
Para tornar este corredor disponível para as organizações da sua empresa, edite o seu acesso à organização. Pode limitar o acesso a um subconjunto de organizações, e até a repositórios específicos.
(Opcional) Configurar o GitHub Connect
Embora este passo seja opcional, recomendamos se planeia consumir ações open-source disponíveis no GitHub.com. Permite-lhe construir sobre o trabalho dos outros, referenciando estas ações reutilizáveis nos seus fluxos de trabalho.
Para ativar o GitHub Connect, siga os passos em Ativar o acesso automático a ações GitHub.com usando o GitHub Connect.
Assim que o GitHub Connect estiver ativado, selecione o Servidor para usar ações do GitHub.com nas execuções de fluxo de trabalho.
Configure e execute o seu primeiro fluxo de trabalho
Agora que o Actions e o GitHub Connect estão configurados, vamos pôr todo este trabalho em prática. Aqui está um fluxo de trabalho de exemplo que faz referência ao excelente octokit/request-action, permitindo-nos "scriptar" o GitHub através de interações usando a API do GitHub, alimentada pelo GitHub Actions.
Neste fluxo de trabalho básico, use octokit/request-action para abrir um problema no GitHub usando a API.
Nota
GitHub.com hospeda a ação, mas quando corre no GitHub Enterprise Server, utiliza automaticamente a API do GitHub Enterprise Server.
Se optar por não ativar o GitHub Connect, pode usar o seguinte fluxo de trabalho alternativo.
Navegue até um repositório na sua instância e adicione o fluxo de trabalho anterior como:
.github/workflows/hello-world.yml
No separador Ações do teu repositório, espera que o fluxo de trabalho seja executado.
Pode vê-lo enquanto é processado.
Se tudo correu bem, deverá ver uma nova edição no seu repositório, intitulada "Hello world."
Parabéns, completou o seu primeiro fluxo de trabalho de Ações no GitHub Enterprise Server, a correr na sua cloud privada Azure VMware Solution.
Este artigo configurou uma nova instância do GitHub Enterprise Server, o equivalente auto-hospedado do GitHub.com, sobre a sua nuvem privada Azure VMware Solution. A instância inclui suporte para GitHub Actions e utiliza Azure Blob Storage para persistência de logs e artefactos. Mas estamos apenas a arranhar a superfície do que pode fazer com o GitHub Actions. Consulta a lista de Ações no Marketplace do GitHub, ou cria a tua própria.
Próximos passos
Agora que já abordou a configuração do GitHub Enterprise Server na sua cloud privada Azure VMware Solution, saiba mais sobre: