Atualizar com hotpatch
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, você pode fazer upgrade da versão 2.10.1
para a 2.10.5
, porque elas estão na mesma série de recursos, mas não da versão 2.10.9
para a 2.11.0
, porque elas estão em uma série de recursos diferente.
Os hotpatches geralmente não exigem reinicialização. Se um hotpatch exigir uma reinicialização, as notas de versão do GitHub Enterprise Server indicarão o requisito.
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 your GitHub Enterprise Server instance. 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. Para obter mais informações, confira "Como habilitar e agendar o modo de manutenção". 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 de seus dados com 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/FILENAME.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 de 2.11
para 2.13
Preparar para a atualização
- Veja em Configuração de rede do cluster a versão para a qual você está atualizando e atualize sua configuração conforme necessário.
- Faça backup de seus dados com 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 de atualização para a área de transferência.
- No shell administrativo de qualquer nó, use o comando
ghe-cluster-each
combinado comcurl
para baixar o pacote de versão para 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ó MySQL primário, que é definido como
mysql-master = <hostname>
emcluster.conf
. Esse nó será atualizado por último.
Atualizar os nós de cluster
- Habilite o modo de manutenção de acordo com a janela agendada conectando-se ao shell administrativo de qualquer nó de cluster e executando
ghe-cluster-maintenance -s
. - Com exceção do nó MySQL primário, conecte-se ao shell administrativo de cada um dos nós do GitHub Enterprise Server.
Execute o comando
ghe-upgrade
, fornecendo o nome do arquivo de pacote que você baixou na Etapa 4 de Preparação para atualizar:$ 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) >
" - Assim que for concluído, o processo de atualização reinicializará o nó. Verifique se é possível usar
ping
em cada nó após a reinicialização. - Conecte-se ao shell administrativo do nó primário MySQL. Execute o comando
ghe-upgrade
, fornecendo o nome do arquivo de pacote que você baixou na Etapa 4 de Preparação para atualizar:$ 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) >
" - Assim que for concluído, o processo de atualização reinicializará o nó primário MySQL. Verifique se é possível usar
ping
em cada nó após a reinicialização. - Conecte-se ao shell administrativo do nó MySQL primário e execute o comando
ghe-cluster-config-apply
. - Quando
ghe-cluster-config-apply
estiver concluído, verifique se os serviços estão em um estado íntegro executandoghe-cluster-status
. - Saia do modo de manutenção do shell administrativo de qualquer nó executando
ghe-cluster-maintenance -u
.