Atualizar o cluster
Use o shell administrativo (SSH) para atualizar o cluster do GitHub Enterprise Server para a versão mais recente.
Neste artigo
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.
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.
- Faça backup dos seus dados com o GitHub Enterprise Server Backup Utilities.
-
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
- Review Cluster network configuration for the version you are upgrading to, and update your configuration as needed.
- Faça backup dos seus dados com o GitHub Enterprise Server Backup Utilities.
- 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.
- Na Página de download do GitHub Enterprise Server, copie a URL do arquivo .pkg da atualização para a área de transferência.
-
No shell administrativo de qualquer nó, use o comando
ghe-cluster-each
combinado ao códigocurl
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
- Identifique o nó primário MySQL, definido como
mysql-master = <hostname>
emcluster.conf
. Esse nó será atualizado por último.
Atualizar os nós de cluster
- 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
. -
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 > *** verificando assinatura do pacote de atualização... > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% > gpg: Assinatura feita em Sex 19 Fev 2016 02:33:50 PM UTC usando ID chave RSA 0D65D57A > gpg: verificando trustdb > gpg: 3 marginal(is), 1 completo(s), modelo PGP > gpg: tamanho: 0 valido: 1 assinado: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u > gpg: assinatura valida de "GitHub Enterprise (chave do pacote de atualizacao) >
" - 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. -
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 > *** verificando assinatura do pacote de atualização... > 497MB 0:00:04 [ 117MB/s] [==========================================>] 100% > gpg: Assinatura feita em Sex 19 Fev 2016 02:33:50 PM UTC usando ID chave RSA 0D65D57A > gpg: verificando trustdb > gpg: 3 marginal(is), 1 completo(s), modelo PGP > gpg: tamanho: 0 valido: 1 assinado: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u > gpg: assinatura valida de "GitHub Enterprise (chave do pacote de atualizacao) >
" - Assim que for concluído, o processo de atualização reinicializará o nó primário MySQL. Verifique se você consegue fazer
ping
em cada nó após a reinicialização. - Saia do modo de manutenção do shell administrativo de qualquer nó executando o código
ghe-cluster-maintenance -u
.