# Requisitos de atualização

Antes de atualizar GitHub Enterprise Server, examine essas recomendações e requisitos para planejar sua estratégia de atualização.

> \[!NOTE]
>
> * Os pacotes de upgrade estão disponíveis em [enterprise.github.com](https://enterprise.github.com/releases) para as versões compatíveis. Verifique a disponibilidade dos pacotes de atualização necessários para concluir a atualização. Se um pacote não estiver disponível, visite [Suporte do GitHub Enterprise](https://support.github.com) e entre em contato conosco para obter assistência.
> * Se você estiver usando clusterização GitHub Enterprise Server, veja [Atualizando um cluster](/pt/enterprise-server@3.22/admin/monitoring-and-managing-your-instance/configuring-clustering/upgrading-a-cluster) no GitHub Enterprise Server Guia de Clusterização para obter instruções específicas para a clusterização.
> * As notas de versão para GitHub Enterprise Server fornecem uma lista completa de novos recursos de cada versão de GitHub Enterprise Server. Para obter mais informações, confira a [página de versões](https://enterprise.github.com/releases).

## Recomendações

* Inclua o mínimo possível de atualizações no seu processo. Por exemplo, em vez de atualizar de GitHub Enterprise3.20 para 3.213.22, você pode atualizar de GitHub Enterprise3.20 para .3.22 Use o [Assistente de atualização](https://support.github.com/enterprise/server-upgrade) para encontrar o caminho de atualização da sua versão atual.
* Se você estiver com várias versões atrasadas, atualize sua instância do GitHub Enterprise Server o mais adiante possível com cada etapa do processo de atualização. Ao usar a versão mais recente em cada atualização, você pode aproveitar as melhorias de desempenho e as correções de erros. Por exemplo, você pode atualizar da GitHub Enterprise 2.7 para a 2.8 para a 2.10, mas a atualização da GitHub Enterprise 2.7 para a 2.9 para a 2.10 usa uma versão posterior na segunda etapa.
* Ao atualizar, use a versão mais recente do patch. Navegue até a [página Versões do GitHub Enterprise Server](https://enterprise.github.com/releases). Ao lado da versão para a qual você está atualizando, clique em **Baixar** e clique na guia **Upgrade**.
* Use uma instância de preparo para testar as etapas da atualização. Para saber mais, confira [Configurar uma instância de testes](/pt/enterprise-server@3.22/admin/installing-your-enterprise-server/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance).
* Ao executar múltiplas atualizações, certifique-se de que as migrações de dados e as tarefas de atualização em execução em segundo plano estejam totalmente concluídas antes de prosseguir para a próxima atualização de recurso. Para verificar o status desses processos, é possível usar os utilitários de linha de comando `ghe-migrations` e `ghe-check-background-upgrade-jobs`. Para saber mais, confira [Utilitários de linha de comando](/pt/enterprise-server@3.22/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#upgrading-github-enterprise-server).
* Tire um instantâneo antes de atualizar sua máquina virtual. Para saber mais, confira [Capturar um instantâneo](/pt/enterprise-server@3.22/admin/upgrading-your-instance/preparing-to-upgrade/taking-a-snapshot). Depois que o instantâneo for feito, desative os instantâneos automáticos para evitar possíveis impactos sobre o desempenho durante a atualização.
* Certifique-se de que você tem um backup recente e bem-sucedido da sua instância. Para obter mais informações, consulte o [GitHub Enterprise Server Backup Utilities arquivo README.md](https://github.com/github/backup-utils#readme).

## Requisitos

* Você deve realizar uma verificação de capacidade. Para saber mais, confira [Verificar a capacidade do sistema antes de atualizar](/pt/enterprise-server@3.22/admin/upgrading-your-instance/preparing-to-upgrade/check-system-capacity-before-upgrading).
* Você precisa fazer upgrade de uma versão de recurso que esteja **no máximo** duas versões atrás. Por exemplo, para atualizar para GitHub Enterprise3.22, você deve estar ligado GitHub Enterprise3.21 ou 3.20.
* Ao atualizar usando um pacote de atualização, agende uma janela de manutenção para GitHub Enterprise Server usuários finais.
* Você pode atualizar GitHub Enterprise Server para a versão mais recente do patch usando um hotpatch.

Você pode usar hotpatching para atualizar para uma versão de patch mais recente, mas não uma versão de recursos. Por exemplo, é possível atualizar da 2.10.1 para a 2.10.5 porque elas estão na mesma série de recursos, mas não da 2.10.9 para a 2.11.0 porque elas estão em séries de recursos diferentes.

Os hotpatches geralmente não exigem reinicialização. Ao instalar o hotpatch, você verá uma mensagem no terminal se algum dos pacotes precisar de uma reinicialização para concluir a atualização. Você pode agendar essa reinicialização em um horário conveniente, mas recomendamos reinicializar assim que possível, especialmente se houver alguma correção de segurança.

Os hotpatches exigem uma execução da configuração, o que pode causar um breve período de erros ou indisponibilidade em 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](/pt/enterprise-server@3.22/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode).

* Um hotpatch pode causar tempo de inatividade se os serviços afetados (como kernel, MySQL ou Elasticsearch) exigirem reinicialização da VM ou do serviço. Você receberá uma notificação quando/se a reinicialização for necessária. Será possível reinicializar em outro momento.
* Procure disponibilizar um armazenamento adicional na raiz durante a atualização, já que o hotpatching instala várias versões de alguns serviços até a conclusão da atualização. As verificações antes do voo irão notificá-lo se você não tiver espaço suficiente de armazenamento no disco raiz.
* Ao atualizar pelo hotpatching, sua instância não pode ficar carregada demais (isso pode afetar o processo).
* A atualização para GitHub Enterprise Server 2.17 migra os logs de auditoria do Elasticsearch para o MySQL. Além disso, essa migração aumenta a quantidade de tempo e espaço em disco necessários para restaurar um instantâneo. Antes de migrar, verifique o número de bytes nos índices de log de auditoria do Elasticsearch com este comando:

```shell
curl -s http://localhost:9201/audit_log/_stats/store | jq ._all.primaries.store.size_in_bytes
```

Use o número para estimar o espaço em disco necessário para os logs de auditoria do MySQL. O script também monitora seu espaço livre em disco durante o andamento da importação. Monitorar esse número é importante, principalmente se o espaço livre em disco estiver próximo da quantidade de espaço em disco necessária para a migração.

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.

## Próximas etapas

Depois de examinar essas recomendações e requisitos, você pode atualizar GitHub Enterprise Server. Para saber mais, confira [Visão geral do processo de atualização](/pt/enterprise-server@3.22/admin/upgrading-your-instance/preparing-to-upgrade/overview-of-the-upgrade-process).