Skip to main content

Atualizar com hotpatch

Você pode usar um pacote de patch dinâmico para atualizar GitHub Enterprise Server para uma versão de patch mais recente dentro de uma série de recursos.

Você pode atualizar o 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 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".

Ao usar o Console de Gerenciamento, você pode instalar um hotpatch imediatamente ou programá-lo para instalação posterior. Você pode usar o shell administrativo para instalar um patch dinâmico com o utilitário ghe-upgrade. Confira "Visão geral do processo de atualização" e "Requisitos de atualização".

Atualizar uma instância autônoma usando um patch dinâmico

Para atualizar uma instância com um nó usando um patch dinâmico, se o destino for uma versão de patch, será possível realizar a atualização por meio do Console de Gerenciamento. Para atualizar para uma versão de recurso, use o shell administrativo.

Instalar um hotpatch usando o Console de Gerenciamento

Você pode usar o Console de Gerenciamento para atualizar com um hotpatch, habilitando as atualizações automáticas. Em seguida, será apresentada a última versão de GitHub Enterprise Server disponível para a qual você pode atualizar.

Se a meta de atualização for a versão do recurso ao invés do patch, você não poderá usar Console de Gerenciamento para instalar o hotpatch. Você deve instalar o hotpatch usando o shell administrativo.

  1. Habilitar as atualizações automáticas. Para obter mais informações, confira "Verificações de atualizações automáticas".

  2. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .

  3. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

  4. Na barra lateral " Administrador do site", clique em Console de Gerenciamento .

  5. Na barra de navegação superior, clique em Atualizações.

    Captura de tela do cabeçalho do Console de Gerenciamento. Uma guia, rotulada como "Atualizações", é realçada com um contorno laranja.

  6. Quando um novo patch dinâmico for baixado, selecione o menu suspenso Instalar pacote.

    • Para instalar imediatamente, clique em Agora.
    • Para instalar depois, selecione outra data.
  7. Clique em Instalar.

Instalar hotpatch usando o shell administrativo

Note

Se você tiver habilitado as verificações de atualização automáticas, não precisará baixar o pacote de upgrade e poderá usar o arquivo que foi baixado automaticamente. Para obter mais informações, confira "Verificações de atualizações automáticas".

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Navegue até a página Versões do GitHub Enterprise Server. Ao lado da versão para a qual você está atualizando, clique em Baixar e clique na guia Upgrade. Copie a URL do pacote dinâmico de atualização (arquivo .hpkg).

  3. Baixe o pacote de atualização no sua instância do GitHub Enterprise Server usando curl:

    admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL
    
  4. Execute o comando ghe-upgrade usando o nome do arquivo de pacote:

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.hpkg
    *** verifying upgrade package signature...
    
  5. Se pelo menos um serviço ou componente do sistema exigir uma reinicialização, o script de atualização de patch dinâmico notificará você. Por exemplo, as atualizações no kernel, no MySQL ou no Elasticsearch podem exigir uma reinicialização.

Atualizar uma instância com vários nós usando um patch dinâmico

Para instalar um patch dinâmico, não é necessário entrar no modo de manutenção ou interromper a replicação.

Atualizar o nó primário usando um patch dinâmico

Para obter instruções a fim de atualizar o nó primário, confira "Como instalar um patch dinâmico usando o shell administrativo".

Atualizar nós adicionais usando um patch dinâmico

Para atualizar uma instância com diversos nós, como uma configuração de alta disponibilidade ou replicação geográfica, repita o procedimento a seguir em cada nó de réplica, um por vez.

  1. Para atualizar o nó, siga as instruções descritas em "Como instalar um patch dinâmico usando o shell administrativo".

  2. Conecte-se ao nó de réplica via SSH como o usuário admin na porta 122:

    ssh -p 122 admin@REPLICA_HOST
    
  3. Verifique a atualização executando:

    ghe-version
    
  4. Repita as etapas acima para cada nó adicional.