Esta versão do GitHub Enterprise foi descontinuada em 2021-09-23. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Atualizar o cluster

Use o shell administrativo (SSH) para atualizar o cluster do GitHub Enterprise Server para a versão mais recente.

Atualizar com hotpatch

Você pode atualizar GitHub Enterprise Server para a versão mais recente do patch usando um hotpatch, que não requer uma janela de manutenção e geralmente não requer reinicialização. Você pode usar hotpatching para atualizar para uma versão de patch mais recente, mas não uma versão de recursos. Por exemplo, você pode atualizar 2.10.1 para 2.10.5 porque eles estão na mesma série de recursos, mas não de 2.10.9 para 2.11.0 porque eles estão em uma série de recursos diferentes. O script de instalação do hotpatch instala o hotpatch em cada nó do cluster e reinicia os serviços na sequência adequada para evitar tempo de inatividade.

  1. Faça backup dos seus dados com o GitHub Enterprise Server Backup Utilities.
  2. No shell administrativo de qualquer nó, use o comando ghe-cluster-hotpatch para instalar o hotpatch mais recente. Você pode informar uma URL para o hotpatch ou baixá-la manualmente e especificar um nome de arquivo local.
    $ ghe-cluster-hotpatch https://HOTPATCH-URL/NOMEARQUIVO.hpkg

Atualizar com pacote de atualização

Atualize para a versão mais recente do cluster do GitHub Enterprise Server usando um pacote de atualização. Por exemplo, você pode atualizar da versão 2.11 para a versão 2.13.

Preparar para a atualização

  1. Revise a Configuração de rede de clustering da versão para a qual você pretende atualizar e faça os ajustes necessários em sua configuração.
  2. Faça backup dos seus dados com o GitHub Enterprise Server Backup Utilities.
  3. Programe um período de manutenção para os usuários finais do cluster do GitHub Enterprise Server, já que ele ficará indisponível para uso regular durante a atualização. O modo de manutenção bloqueia o acesso de usuários e impede alterações de dados durante a atualização do cluster.
  4. Na Página de download do GitHub Enterprise Server, copie a URL do arquivo .pkg da atualização para a área de transferência.
  5. No shell administrativo de qualquer nó, use o comando ghe-cluster-each combinado ao código curl para baixar o pacote de versão de cada nó em uma única etapa. Como argumento, use a URL que você copiou na etapa anterior.
    $ ghe-cluster-each -- "cd /home/admin && curl -L -O  https://PACKAGE-URL.pkg"
    > ghe-app-node-1:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-app-node-1:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  24.2M      0  0:00:20  0:00:20 --:--:-- 27.4M
    > ghe-data-node-2:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-data-node-2:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  21.3M      0  0:00:23  0:00:23 --:--:-- 25.8M
    > ghe-data-node-1:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-data-node-1:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  19.7M      0  0:00:25  0:00:25 --:--:-- 25.6M
    > ghe-app-node-2:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-app-node-2:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  19.8M      0  0:00:25  0:00:25 --:--:-- 17.6M
    > ghe-data-node-3:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    > ghe-data-node-3:                                  Dload  Upload   Total   Spent    Left  Speed
    > 100  496M  100  496M    0     0  19.7M      0  0:00:25  0:00:25 --:--:-- 25.5M
  6. Identifique o nó primário MySQL, definido como mysql-master = <hostname> em cluster.conf. Esse nó será atualizado por último.

Atualizar os nós de cluster

  1. Ative o modo de manutenção conforme o período planejado conectando-se ao shell administrativo de qualquer nó do cluster e executando o código ghe-cluster-maintenance -s.
  2. Com exceção do nó primário MySQL, conecte-se ao shell administrativo de cada nó do GitHub Enterprise Server. Execute o comando ghe-upgrade informando o nome do arquivo que você baixou na Etapa 4 do procedimento Preparar para a atualização:
    $ ghe-upgrade PACKAGE-FILENAME.pkg
    > *** verifying upgrade package signature...
    >  497MB 0:00:04 [ 117MB/s] [==========================================>] 100%            
    > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A
    > gpg: checking the trustdb
    > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    > gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) > "
  3. Assim que for concluído, o processo de atualização reinicializará o nó. Verifique se você consegue fazer ping em cada nó após a reinicialização.
  4. Conecte-se ao shell administrativo do nó primário MySQL. Execute o comando ghe-upgrade informando o nome do arquivo que você baixou na Etapa 4 do procedimento Preparar para a atualização:
    $ ghe-upgrade PACKAGE-FILENAME.pkg
    > *** verifying upgrade package signature...
    >  497MB 0:00:04 [ 117MB/s] [==========================================>] 100%            
    > gpg: Signature made Fri 19 Feb 2016 02:33:50 PM UTC using RSA key ID 0D65D57A
    > gpg: checking the trustdb
    > gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    > gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    > gpg: Good signature from "GitHub Enterprise (Upgrade Package Key) > "
  5. Assim que for concluído, o processo de atualização reinicializará o nó primário MySQL. Verifique se você pode fazer ping de cada nó depois que ele for reiniciado.
  6. Saia do modo de manutenção do shell administrativo de qualquer nó executando o código ghe-cluster-maintenance -u.