Skip to main content

Configurar uma instância de testes

Você pode configurar uma GitHub Enterprise Server instância em um ambiente separado e isolado e usar a instância para validar e testar as alterações.

Sobre instâncias de preparo

GitHub recomenda que você configure um ambiente separado para testar backups, atualizações ou alterações na configuração para sua instância do GitHub Enterprise Server. Esse ambiente, que você deve isolar de seus sistemas de produção, é chamado de ambiente de preparo.

Por exemplo, para proteger contra perda de dados, você pode validar regularmente o backup da sua instância de produção. Você pode restaurar regularmente o backup de seus dados de produção para uma instância do GitHub Enterprise Server separada em um ambiente de preparo. Nesta instância de staging, também é possível testar a atualização para a versão mais recente com novos recursos de GitHub Enterprise Server.

Dica

Você pode reutilizar o arquivo de licença GitHub Enterprise existente, desde que a instância de preparo não seja usada no recurso de produção.

Considerações sobre um ambiente de teste

Para testar GitHub Enterprise Server de forma abrangente e recriar um ambiente o mais semelhante possível ao seu ambiente de produção, considere os sistemas externos que interagem com sua instância. Por exemplo, você pode querer testar o seguinte em seu ambiente de teste.

  • Autenticação, principalmente se você usa um provedor de autenticação externo, como o SAML
  • Integração com um sistema externo de geração de tíquetes;
  • Integração com um servidor de integração contínua;
  • Os scripts externos ou software que usam a GitHub Enterprise Server APIs
  • Servidor externo SMTP para notificações de e-mail.

Configurar uma instância de testes

Você pode instalar uma instância de preparo do zero e configurá-la como quiser. Para saber mais, confira Configurando uma instância do GitHub Enterprise Server e Configurando GitHub Enterprise.

Como alternativa, você pode criar uma instância de teste que reflita a configuração de produção ao restaurar um backup da instância de produção para a instância de teste.

  1. Faça backup da instância de produção.
  2. Configure uma instância de teste.
  3. Configurar GitHub Actions.
  4. Configurar GitHub Packages.
  5. Restaure o backup de produção.
  6. Examine a configuração da instância.
  7. Aplique a configuração da instância.

1. Fazer backup da instância de produção

Se você quiser testar as alterações em uma instância que contenha os mesmos dados e configuração que sua instância de produção, faça backup dos dados e da configuração da instância de produção usando GitHub Enterprise Server Backup Utilities. Para saber mais, confira Configurando backups em sua instância com utilitários de backup.

Aviso

Se você usar GitHub Actions ou GitHub Packages em produção, o backup incluirá sua configuração de produção para armazenamento externo. Para evitar uma possível perda de dados gravando no armazenamento de produção da instância de preparo, configure cada recurso nas etapas 3 e 4 antes de restaurar o backup.

2. Configurar uma instância de preparo

Configure uma nova instância para funcionar como ambiente de preparo. Ao seguir o processo de instalação, selecione a opção Nova Instalação. Isso garantirá que o ambiente de preparo seja inicializado corretamente e esteja pronto para restaurar um backup, se necessário.

Você pode usar os mesmos guias para provisionar e instalar sua instância de preparo, assim como fez na instância de produção. Para saber mais, confira Configurando uma instância do GitHub Enterprise Server.

Se você planeja restaurar um backup da instância de produção, prossiga para a próxima etapa. Como alternativa, você pode configurar a instância manualmente e ignorar as etapas a seguir.

Aviso

Restaurar backups com GitHub Actions não terá êxito em uma instância não configurada. Para habilitar GitHub Actions, uma instância com um nome de host configurado é necessária. Para saber mais, confira Configurando o nome do host para sua instância.

3. Configurar GitHub Actions

Opcionalmente, se você usar GitHub Actions na instância de produção, configure o recurso na instância de preparo antes de restaurar o backup de produção. Se você não usar GitHub Actions, vá para Configurar GitHub Packages.

Para configurar GitHub Actions em sua instância de preparo, use o Console de Gerenciamento.

O Console de Gerenciamento fornece uma interface segura, baseada no navegador, para a configuração de baixo nível da sua instância GitHub Enterprise Server, incluindo GitHub Actions. Todas as alterações de configuração são auditadas e o acesso é protegido por meio de credenciais dedicadas e controles de rede.

Aviso

Se você não configurar GitHub Actions na instância de preparo antes de restaurar o backup de produção, sua instância de preparo usará o armazenamento externo da instância de produção, o que pode resultar em perda de dados. Recomendamos fortemente que você use um armazenamento externo diferente para sua instância de homologação. Para saber mais, confira Usar um ambiente de teste.

  1. Acesse o Console de Gerenciamento. Confira Acessando o Console de Gerenciamento.

  2. Na barra lateral, abra a guia Ações.

  3. Habilite GitHub Actions marcando Habilitar GitHub Actions.

  4. Selecione seu provedor de armazenamento externo para artefatos e armazenamento de logs.

  5. Insira os detalhes de armazenamento e autenticação necessários para o provedor escolhido.

  6. Teste a configuração clicando em Testar configurações de armazenamento e, em seguida, clique em Salvar configurações.

Depois de configurar e habilitar GitHub Actions, prossiga para a próxima etapa.

4. Configurar GitHub Packages

Opcionalmente, se você usar GitHub Packages na instância de produção, configure o recurso na instância de preparo antes de restaurar o backup de produção. Se você não usar GitHub Packages, vá para Restaurar seu backup de produção.

Aviso

Se você não configurar GitHub Packages na instância de preparo antes de restaurar o backup de produção, sua instância de preparo usará o armazenamento externo da instância de produção, o que pode resultar em perda de dados. Recomendamos fortemente que você use um armazenamento externo separado para sua instância de homologação. Para saber mais, confira Usar um ambiente de teste.

Para configurar o GitHub Packages para a instância de preparo:

  1. Acesse o Console de Gerenciamento. Consulte Acessar o Console de Gerenciamento.
  2. Na barra lateral, abra a guia Pacotes.
  3. Ative o GitHub Pacotes marcando a caixa Habilitar GitHub Pacotes.
  4. Em Configurações de Armazenamento de Pacotes, selecione seu provedor de armazenamento externo.
  5. Teste sua configuração de armazenamento clicando em Testar configurações de armazenamento.
  6. Clique em Salvar configurações para aplicar a configuração.

Observação

Você pode usar interruptores do ecossistema para habilitar, desabilitar ou definir tipos de pacotes individuais como somente leitura para sua instância, conforme necessário.

5. Restaurar o backup de produção

Use o comando ghe-restore para restaurar o restante dos dados do backup. Para saber mais, confira Configurando backups em sua instância com utilitários de backup.

Se a instância de preparo já estiver configurada e você quiser substituir as configurações, o certificado e os dados de licença, adicione a opção -c ao comando. Para obter mais informações sobre a opção, consulte Usando os comandos de backup e restauração na GitHub Enterprise Server Backup Utilities documentação.

6. Examinar a configuração da instância

Para acessar a instância de preparo usando o mesmo nome de host, atualize o arquivo de hosts local para resolver o nome do host da instância de preparo por endereço IP editando o arquivo /etc/hosts no macOS ou Linux ou o arquivo C:\Windows\system32\drivers\etc no Windows.

Observação

A instância de staging precisa estar acessível por meio do mesmo hostname da instância de produção. Não há suporte para alterar o nome do host de sua instância do GitHub Enterprise Server. Para saber mais, confira Configurando o nome do host para sua instância.

Em seguida, examine a configuração da instância de teste em Console de Gerenciamento. Para saber mais, confira Administrar sua instância por meio da interface do usuário da Web.

Aviso

Se você configurou GitHub Actions ou GitHub Packages para a instância de homologação, para evitar sobrescrever os dados de produção, verifique se a configuração de armazenamento externo em Console de Gerenciamento não corresponde à da instância de produção.

7. Aplicar a configuração da instância

Para aplicar a configuração a partir de Console de Gerenciamento, clique em Salvar configurações.

Colocar uma instância de teste online novamente

Talvez você queira desligar uma instância de preparo para reduzir os custos e ligá-la novamente quando necessário.

Uma instância pode ficar offline por 60 dias.

Se você colocar a instância online novamente dentro do período offline permitido, o GitHub Enterprise Server será instanciado com êxito. Se a instância permanecer offline por mais tempo do que o período permitido, GitHub Enterprise Server não conseguirá ser instanciado com êxito, e uma mensagem de erro com o texto server has been offline for more than the configured server_rejoin_age_max poderá aparecer nos logs do sistema. Confira Sobre os logs do sistema.

Se a instância estiver presa no estado de erro, você poderá executar esses comandos para recuperá-la.

sudo mv /data/user/consul/server_metadata.json /data/user/consul/server_metadata.json.bak
ghe-config-apply

Leitura adicional