Olá! No momento, esta página ainda está sendo desenvolvida ou traduzida. Para obter as informações mais recentes, acesse a documentação em inglês.
Versão do artigo: Enterprise Server 2.15

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2019-10-16. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Atualizar o GitHub Enterprise Server

Atualize o GitHub Enterprise Server para usar os recursos e atualizações de segurança mais recentes.

Neste guia

Preparar para a atualização

  1. Determine uma estratégia de atualização e escolha uma versão para atualizar. Para obter mais informações, consulte "Requisitos de atualização".

  2. Se for atualizar para o GitHub Enterprise Server 2.14 ou 2.15 a partir da versão 2.12 ou 2.13, baixe e exeute um script de migração para migrar seus índices de pesquisa ou webhooks para o Elasticsearch 5.6. Para obter mais informações, consulte "Migrar índices do Elasticsearch para o GitHub Enterprise Server 2.14 ou mais recente".

  3. Crie um backup da instância primária usando o GitHub Enterprise Server Backup Utilities. Para obter mais informações, consulte o Arquivo LEIAME do GitHub Enterprise Server Backup Utilities.

  4. 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.

    Observação: o período de manutenção depende do tipo de atualização a ser feita. Atualizações com hotpatch costumam não exigir período de manutenção. É preciso reinicializar a instância em alguns casos, mas o processo pode ser feito em outro momento. Seguindo o esquema de versões do MAJOR.FEATURE.PATCH, as versões de patch que usam pacote de atualização costumam gerar menos de cinco minutos de tempo de inatividade. Versões de recursos que incluem migrações de dados levam mais tempo, dependendo do desempenho do armazenamento e da quantidade de dados migrados. Para obter mais informações, consulte "Habilitar e programar o modo de manutenção".

Obter um instantâneo

Instantâneo é um ponto de verificação de uma máquina virtual (VM) em um momento específico. É altamente recomendável obter um instantâneo antes de atualizar sua máquina virtual para que você possa recuperar a VM em caso de falha. Se você estiver atualizando para uma nova versão do recurso, obtenha um instantâneo da VM. Se você estiver atualizando para uma versão de patch, vincule o disco de dados existente.

Há dois tipos de instantâneo:

Plataforma Método de instantâneo URL de documentação de instantâneo
Amazon AWS Disco https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
Azure VM https://azure.microsoft.com/en-us/documentation/articles/backup-azure-vms/
Hyper-V VM https://technet.microsoft.com/en-us/library/dd851843.aspx
Google Compute Engine Disco https://cloud.google.com/compute/docs/disks/create-snapshots
VMware VM https://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.vsphere.vm_admin.doc_50/GUID-9720B104-9875-4C2C-A878-F1C351A4F3D8.html
XenServer VM https://support.citrix.com/article/CTX122978

Atualizar com hotpatch

You can upgrade GitHub Enterprise Server to the latest patch release using a hotpatch, which does not require a maintenance window and usually does not require a reboot. You can use hotpatching to upgrade to a newer patch release, but not a feature release. For example, you can upgrade from 2.10.1 to 2.10.5 because they are in the same feature series, but not from 2.10.9 to 2.11.0 because they are in a different feature series. Usando o console de gerenciamento, você pode instalar um hotpatch na mesma hora ou programar a instalação para depois. Você pode usar o shell administrativo para instalar um hotpatch com o utilitário ghe-upgrade. Para obter mais informações, consulte "Requisitos de atualização".

Atualizar um appliance com hotpatch

Instalar hotpatch usando o console de gerenciamento

A instalação de hotpatchs usando o Console de gerenciamento não está disponível em ambientes em cluster. Para instalar um hotpatch em um ambiente em cluster, consulte "Instalar hotpatch usando o shell administrativo".

  1. Habilite atualizações automáticas. For more information, see "Enabling automatic updates."

  2. In the upper-right corner of any page, click .

    Ícone de foguete para acessar as configurações de administrador do site

  3. In the left sidebar, click Console de gerenciamento.

    Console de gerenciamento tab in the left sidebar

  4. At the top of the Console de gerenciamento, click Updates.

    Updates menu item

  5. Quando um novo hotpatch for baixado, use o menu suspenso Install package (Instalar pacote):

    • Para instalar na mesma hora, selecione Now (Agora):
    • Para instalar depois, selecione outra data.
      Menu suspenso com datas para instalação de hotpatch
  6. Clique em Install (Instalar).

    Botão de instalação de hotpatch

Instalar hotpatch usando o shell administrativo

Note: If you've enabled automatic update checks, you don't need to download the upgrade package and can use the file that was automatically downloaded. For more information, see "Enabling automatic update checks."

  1. SSH into sua instância do GitHub Enterprise Server.

    $ ssh -p 122 admin@HOSTNAME
  2. Browse to the GitHub Enterprise Server Releases page. Next to the release you are upgrading to, click Download, then click the Upgrading tab. Copie a URL do hotpackage de atualização (arquivo .hpkg).

  3. Download the upgrade package to sua instância do GitHub Enterprise Server using curl:

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

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.hpkg*** verificando assinatura do pacote de atualização...
  5. Se for necessário reinicializar para aplicar as atualizações no kernel, MySQL, Elasticsearch ou em outros programas, você receberá uma notificação do script de atualização do hotpatch.

Atualizar um appliance com instâncias de réplica usando hotpatch

Appliances configurados para alta disponibilidade e replicação geográfica usam instâncias de réplica, além de instâncias principais. Para atualizar esses appliance, você terá que atualizar a instância primária e todas as instâncias de réplica, uma por vez.

Atualizar a instância primária
  1. Atualize a instância primária seguindo as instruções em "Instalar hotpatch usando o shell administrativo".
Atualizar uma instância de réplica

Observação: se você estiver executando várias instâncias de réplica como parte da replicação geográfica, repita esse procedimento para cada instância de réplica, uma por vez.

  1. Atualize a instância da réplica seguindo as instruções em "Instalar hotpatch usando o shell administrativo". Se você estiver usando várias réplicas de replicação geográfica, repita esse procedimento para atualizar cada réplica, uma por vez.

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. Verify the upgrade by running:

    $ ghe-version

Reverter instalação com hotpatch

If a hotpatch installation introduces any problems or unexpected behavior, you can use the ghe-upgrade --allow-patch-rollback command to install a regular upgrade package (.pkg) of the previous version.

Atualizar com pacote de atualização

Mesmo que seja possível usar um hotpatch para fazer a atualização do patch em uma série, você deve usar um pacote de atualização a fim de atualizar para uma versão mais recente. Por exemplo, use um pacote ao atualizar da versão 2.11.10 para a 2.12.4, já que elas estão em séries diferentes. Para obter mais informações, consulte "Requisitos de atualização".

Atualizar um appliance com pacote de atualização

Note: If you've enabled automatic update checks, you don't need to download the upgrade package and can use the file that was automatically downloaded. For more information, see "Enabling automatic update checks."

  1. SSH into sua instância do GitHub Enterprise Server.

    $ ssh -p 122 admin@HOSTNAME
  2. Browse to the GitHub Enterprise Server Releases page. Next to the release you are upgrading to, click Download, then click the Upgrading tab. Selecione a plataforma adequada e copie a URL do pacote de atualização (arquivo .pkg).

  3. Download the upgrade package to sua instância do GitHub Enterprise Server using curl:

    admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL
  4. Habilite o modo de manutenção e aguarde a conclusão de todos os processos ativos na instância do GitHub Enterprise Server. Para obter mais informações, consulte "Habilitar e programar o modo de manutenção".

    Observação: ao atualizar o appliance primário em uma configuração de alta disponibilidade, o appliance já deverá estar no modo de manutenção se você seguir as instruções em "Atualizar a instância primária".

  5. Execute o comando ghe-upgrade usando o nome de arquivo do pacote:

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.pkg*** verificando assinatura do pacote de atualização...
  6. Confirme que você gostaria de continuar a atualização e de reiniciar após a verificação da assinatura do pacote. O novo sistema de arquivos raiz grava na partição secundária, e a instância é reiniciada automaticamente em modo de manutenção:

    *** aplicando atualização...
    Este pacote atualizará a instalação para a versão version-numberPartição raiz atual: /dev/xvda1 [version-number]
    Partição raiz de destino:  /dev/xvda2
    Continuar a instalação? [y/N]
  7. Em atualizações de appliance único, desabilite o modo de manutenção para os usuários poderem trabalhar com a sua instância do GitHub Enterprise Server.

    Observação: ao atualizar appliances em configurações de alta disponibilidade, mantenha o modo de manutenção até atualizar todas as réplicas e a replicação estar atual. Para obter mais informações, consulte "Atualizar instância de réplica".

Atualizar um appliance com instâncias de réplica usando um pacote de atualização

Appliances configurados para alta disponibilidade e replicação geográfica usam instâncias de réplica, além de instâncias principais. Para atualizar esses appliance, você terá que atualizar a instância primária e todas as instâncias de réplica, uma por vez.

Atualizar a instância primária

Aviso: se a replicação for interrompida em caso de falha da instância primária, será perdido qualquer trabalho feito antes da atualização da réplica e do reinício da replicação.

  1. Na instância primária, habilite o modo de manutenção e aguarde a conclusão de todos os processos ativos. For more information, see "Enabling maintenance mode."

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. Na instância de réplica (ou em todas as instâncias de réplica), se você estiver executando várias réplicas como parte da replicação geográfica, execute ghe-repl-stop para parar a replicação.

  4. Atualize a instância primária seguindo as instruções em "Atualizar um appliance com pacote de atualização".

Atualizar uma instância de réplica

Observação: se você estiver executando várias instâncias de réplica como parte da replicação geográfica, repita esse procedimento para cada instância de réplica, uma por vez.

  1. Atualize a instância de réplica seguindo as instruções em "Atualizar um appliance com pacote de atualização". Se você estiver usando várias réplicas de replicação geográfica, repita esse procedimento para atualizar cada réplica, uma por vez.

  2. Connect to the replica instance over SSH as the "admin" user on port 122:

    $ ssh -p 122 admin@replica-host
  3. Verify the upgrade by running:

    $ ghe-version
  4. On the replica instance, to start replication, run ghe-repl-start.

  5. On the replica instance, to make sure replication services are running correctly, run ghe-repl-status. This command will return OK for all services when a successful replication is in progress and the replica has upgraded. Se o comando retornar Replicação não executada, pode ser que a replicação ainda esteja começando. Aguarde cerca de um minuto para executar ghe-repl-status novamente.

    Observação: enquanto a ressincronização estiver em andamento, o código ghe-repl-status pode retornar mensagens esperadas indicando que a replicação está atrasada. Por exemplo: CRÍTICO: a replicação git está atrás do primário em mais de 1007 repositórios e/ou gists

    Se ghe-repl-status não retornar OK, siga estas etapas para iniciar a replicação manualmente.

    1. Na instância de réplica, execute ghe-repl-setup <primary-instance-ip> mais uma vez.

    2. On the replica instance, to start replication, run ghe-repl-start.

    3. On the replica instance, to make sure replication services are running correctly, run ghe-repl-status. This command will return OK for all services when a successful replication is in progress and the replica has upgraded.

  6. Ao concluir a atualização da última réplica e quando a ressincronização terminar, desabilite o modo de manutenção para que os usuários possam trabalhar na sua instância do GitHub Enterprise Server.

Restaurar após uma atualização com falha

Em caso de falha ou interrupção da atualização, volte a sua instância ao estado anterior. Esse processo dependerá do tipo de atualização.

Voltar a uma versão de patch

Para retomar uma versão de patch, use o comando ghe-upgrade --allow-patch-rollback. A reversão não afeta a partição de dados, já que não são feitas migrações nas versões do patch. Para obter mais informações, consulte "Utilitários de linha de comando".

Voltar a uma versão de recurso

Para voltar a partir de uma versão de recurso, faça a restauração partindo de um instantâneo da VM para garantir o estado consistente das partições raiz e de dados. Para obter mais informações, consulte "Obter um instantâneo".

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato