Skip to main content

Enterprise Server 3.15 está disponível no momento como versão release candidate.

Visão geral do processo de atualização

Conheça as recomendações e os requisitos para atualizar GitHub Enterprise Server, para que você possa planejar e testar sua estratégia de atualização.

O GitHub Enterprise Server está sempre em aprimoramento, com novas funcionalidades e correções de erros introduzidas por meio de recursos e versões de patches. Você é responsável por atualizações de sua instância. Confira "Sobre atualizações para novas versões".

Para fazer upgrade de uma instância, você deve:

  1. Planeje sua estratégia de atualização escolhendo sua versão de atualização e o pacote de atualização apropriado e agendando uma janela de manutenção.
  2. Comunique a atualização antes e durante o processo de atualização.
  3. Prepare sua estratégia de backup criando um backup e tirando um instantâneo da máquina virtual.
  4. Instale o pacote de atualização usando o pacote e o método apropriados.
  5. Conclua as tarefas pós-atualização.

O processo que você deve seguir para aplicar um pacote de atualização depende de quantos nós estão em sua topologia de implantação. Este artigo fornece informações gerais para atualizar instâncias somente em uma configuração independente ou de alta disponibilidade.

Planejar sua estratégia de atualização

Planejar a atualização

  • Revise as notas de versão e os problemas conhecidos documentados antes de executar uma atualização. Consulte "Notas de versão" e "Problemas conhecidos com atualizações de instância".
  • Revise "AUTOTITLE" para garantir que você entenda os requisitos e recomendações para atualização.
  • Verifique se o disco de dados de sua instância do GitHub Enterprise Server está pelo menos 15% livre. A GitHub recomenda que haja mais armazenamento livre no disco. Em alguns casos raros, para clientes com grandes volumes de dados, esse limite pode ser diferente. Confira "Aumentar a capacidade de armazenamento".
  • Verifique se você tem recursos de hardware suficientes para GitHub Enterprise Server. Ao atualizar, verificações prévias avaliam se os requisitos mínimos de recursos de hardware do sistema, como memória, núcleos de CPU e armazenamento no disco raiz e no disco de usuário, estão disponíveis para a instância. Se as verificações prévias determinarem que não há recursos suficientes ou qualquer outra falha, você será notificado e a atualização será cancelada.
  • Certifique-se de ter uma cópia de todas as regras de firewall personalizadas para sua instância do GitHub Enterprise Server, pois as regras personalizadas não persistirão após a atualização. Você deve reaplicar todas as regras personalizadas após a atualização. Confira "Configurar regras de firewall integrado".
  • Para instâncias em uma configuração de alta disponibilidade, verifique se o status da replicação é relatado OK antes de atualizar. Confira "Monitorar uma configuração de alta disponibilidade".
  • Considere configurar a lista de exceções de IP para o modo de manutenção, para que você possa limitar temporariamente o acesso a sua instância do GitHub Enterprise Server para validar a integridade do servidor após uma atualização. Confira "Habilitar e programar o modo de manutenção".

Escolha sua versão de atualização e pacote

  • Determine uma estratégia de atualização e escolha uma versão para atualizar.
    • É possível atualizar uma instância do GitHub Enterprise Server para uma nova versão de patch ou de recurso.
    • Use o Assistente de atualização para localizar o caminho de upgrade começando na sua versão atual para um novo patch ou versão de recurso.
  • Escolha um pacote de atualização (hotpatch ou pacote de atualização).
    • No caso da atualização para uma versão de patch, é possível usar um patch dinâmico ou um pacote de atualização. No caso da atualização para uma versão de recurso, use um pacote de upgrade.
    • Se você estiver atualizando com um pacote de atualização, programe um período de manutenção para os usuários finais do GitHub Enterprise Server. Se estiver usando um hotpatch, não será necessário recorrer ao modo de manutenção.
    • Se você tiver habilitado as verificações automáticas de atualização, os administradores do site serão notificados de que um pacote de atualização foi baixado e está disponível. Confira "Verificações de atualizações automáticas".
    • Os builds de versões Release Candidate destinam-se exclusivamente ao uso em um ambiente de teste. Não instale um build de versão Release Candidate em um ambiente de produção. Não atualize da versão Release Candidate para versões posteriores, incluindo as versões com disponibilidade geral.

Considere se outras atualizações de aplicativos são necessárias

Verifique se você precisa atualizar os seguintes aplicativos:

  • GitHub Actions os executores devem ser atualizados se sua instância do GitHub Enterprise Server usar executores auto-hospedados efêmeros para GitHub Actions e as atualizações automáticas estiverem desabilitadas. Atualize os executores para a versão mínima do aplicativo exigida pela instância atualizada antes de executar a atualização. Para encontrar a versão mínima necessária para seu lançamento, consulte "Versões do GitHub Enterprise Server".

  • GitHub Enterprise Server Backup Utilities. Sua versão do GitHub Enterprise Server Backup Utilities precisa ser a mesma versão ou no máximo duas versões posteriores de sua instância do GitHub Enterprise Server.

    • Talvez seja necessário atualizar GitHub Enterprise Server Backup Utilities para uma versão mais recente antes de atualizar sua instância.
    • Planeje atualizar GitHub Enterprise Server Backup Utilities para uma versão mais recente depois de atualizar a instância.

    Para saber mais, confira Como configurar backups em sua instância e o LEIAME na documentação do projeto do GitHub Enterprise Server Backup Utilities.

Planejar uma janela de manutenção

  • Dependendo da sua estratégia de atualização, pode ser necessário um tempo de inatividade significativo.
  • A melhor maneira de determinar a duração esperada do tempo de inatividade é testar primeiro a atualização em um ambiente de preparo. Confira "Configurar uma instância de preparo".
  • A janela de manutenção da atualização depende do tipo de atualização a ser feita.
    • Atualizações com hotpatch normalmente não exigem período de manutenção. É preciso reinicializar a instância em alguns casos, mas o processo pode ser feito em outro momento.

      Note

      Os hotpatches exigem uma execução de configuração, o que pode causar um breve período de erros ou falta de resposta para alguns ou todos os serviços em sua instância do GitHub Enterprise Server. Você não precisa habilitar o modo de manutenção durante a instalação de um hotpatch, mas isso garantirá que os usuários vejam uma página de manutenção em vez de erros ou tempos limite. Confira "Habilitar e programar o modo de manutenção".

    • Versões de patch usando um pacote de atualização normalmente requer menos de cinco minutos de tempo de inatividade.

    • A atualização para uma nova versão de recursos que inclui migrações de dados pode causar algumas horas de tempo de inatividade, dependendo do desempenho do armazenamento e da quantidade de dados migrados. Durante esse período, nenhum de seus usuários poderá usar a empresa.

Comunicando sua atualização

  • Antes da atualização, você pode publicar um banner de anúncio global para destacar informações importantes para seus usuários, como alterações recebidas ou possível tempo de inatividade. Confira "Personalizar mensagens de usuário para sua empresa".
  • No momento da atualização, você pode ativar o modo de manutenção e definir uma mensagem personalizada para informar aos usuários que a instância está temporariamente indisponível. Confira "Habilitar e programar o modo de manutenção".

Preparar a estratégia de backup

Criar um instantâneo de backup

Certifique-se de ter um snapshot de backup recente e bem-sucedido do nó primário da instância antes de iniciar o processo de upgrade. Para saber mais, confira Como configurar backups em sua instância e o LEIAME na documentação do projeto do GitHub Enterprise Server Backup Utilities.

Criar um instantâneo da VM

Se você estiver atualizando para uma nova versão de recurso, será necessário um instantâneo de VM (máquina virtual). Se você estiver atualizando para uma versão de patch, vincule o disco de dados existente.

Crie um snapshot de máquina virtual (VM) do nó primário da instância imediatamente antes da atualização e somente quando o modo de manutenção tiver sido habilitado ou a instância tiver sido desligada. Confira "Obter um instantâneo".

Instalar um pacote de atualização

Revise as considerações sobre atualizações e conclua as etapas de preparação descritas acima, antes de iniciar a instalação de um pacote de atualização.

As instruções para atualizar sua instância GitHub Enterprise Server diferem dependendo do tipo de atualização que você está executando e do número de nós que sua instância tem.

Concluir as tarefas pós-atualização.

  • Verifique o status dos trabalhos em segundo plano e examine o log de atualização em busca de erros.
  • Verifique a funcionalidade básica GitHub Enterprise Server. Por exemplo, verifique se você pode entrar por meio da interface do usuário e verifique se várias de suas organizações, repositórios e problemas podem ser alcançados conforme o esperado. Também é uma boa ideia executar manualmente várias buscas, clones e pushes do Git usando SSH e/ou HTTPS e verificar se as solicitações de API e as entregas de webhook foram concluídas com êxito.
  • Reaplique todas as regras de firewall personalizadas. Confira "Configurar regras de firewall integrado".
  • Exclua todos os instantâneos de VM tirados antes da atualização. Confira "Obter um instantâneo".
  • Desative o modo de manutenção e atualize todas as comunicações de pré-atualização, como faixas de anúncio. Consulte "Personalizar mensagens de usuário para sua empresa" e "Habilitar e programar o modo de manutenção".
  • Monitore todos os trabalhos em segundo plano enfileirados em sua instância para garantir que eles sejam concluídos com êxito. Confira "Utilitários de linha de comando".