Você está na página 1de 12

Atualizando uma instalação tarball

A seção descreve como atualizar uma instalação tarball do Swarm para uma versão mais recente.
O processo a seguir tenta minimizar o tempo de inatividade, mas um curto período de inatividade para usuários do Swarm é
inevitável. Não deve haver tempo de inatividade para o seu Helix Core Server Após uma atualização bem-sucedida, todos os usuários
.

do Swarm serão desconectados.


Se você estiver usando o Swarm em um ambiente de produção, recomendamos que você teste primeiro esse processo de atualização
em um ambiente que não seja de produção.

Aviso

As dependências de tempo de execução do Swarm mudam entre as versões, você deve verificar se seu sistema
satisfaz as dependências de tempo de execução do Swarm antes de iniciar a atualização, consulte Dependências
de tempo de execução .

O P4PHP deve ser atualizado para a versão incluída na nova versão do Swarm .

Se você já configurou o PHP para usar o P4PHP fornecido pelo Swarm ( conforme recomendado ), isso
acontece automaticamente.
Se você instalou manualmente o P4PHP de alguma outra forma, configure o Swarm para usar a versão do
P4PHP incluída no novo tarball do Swarm antes de executar qualquer uma das etapas de atualização
abaixo. Consulte configuração do PHP para obter detalhes.
Instalações do pacote Swarm e tarball: duas versões do P4PHP são fornecidas para cada versão do PHP 7 e
PHP 8 suportada pelo Swarm Eles estão localizados no diretório p4-bin/bin.linux26x86_64
. .

perforce-php7x.so e perforce-php8x.so compatíveis com sistemas que usam SSL 1.0.2


perforce-php7x-ssl1.1.1.so e perforce-php8x-ssl1.1.1.so compatíveis com sistemas que usam
SSL 1.1.1 (por padrão
Ubuntu 20.04 usa SSL 1.1.1)
o
perforce-php8x-ssl3.so compatível com sistemas que usam SSL 3.0.0 (por padrão o Ubuntu 22.04 usa
SSL 3.0.0)
Onde x é a versão do PHP 7 ou PHP 8.

Se o arquivo perforce.ini não estiver apontando para a versão correta do P4PHP e você se conectar a um
Helix Core Server habilitado para SSL :

A página da web do Swarm não será carregada e você poderá ver um erro de redefinição de conexão .

Pode haver um símbolo indefinido: mensagem SSLeay no log de erros do Apache


Revise os requisitos do PHP antes de atualizar o Swarm consulte PHP
, .

Revise os requisitos do Helix Core Server antes de atualizar o Swarm consulte Requisitos do Helix Core Server
, .

Helix Core Server 2020.1 e posterior, as permissões foram alteradas para visualizar e editar arquivos de
especificações de fluxo no Swarm Para visualizar e editar arquivos de especificação de stream no Swarm o
. ,

usuário do Swarm deve ter permissões de administrador para todo o depósito //...

Observação

Se você estiver atualizando do Swarm 2017.2 ou anterior, execute a atualização do índice Swarm depois de
validar sua atualização. Esta é a última etapa da atualização e garante que o histórico de atividades de revisão
seja exibido na ordem correta nas páginas Painel e lista de Avaliações .

Se você estiver atualizando do Swarm 2020.2 ou anterior e tiver IDs de usuário que contenham o caractere
de barra (/), adicione AllowEncodedSlashes NoDecode ao bloco VirtualHost do seu arquivo /etc/apache2
/sites-enabled/perforce-swarm-site.conf Para obter mais informações sobre o bloco VirtualHost,
.

consulte Configuração do Apache .

Instalação de PHP e Apache 2.4


CentOS e RHEL não possuem PHP 7 ou PHP 8 e Apache 2.4 por padrão, então você deve atualizar seu sistema antes de atualizar o
Swarm Este processo só é necessário na primeira vez que você atualizar para PHP 7 ou PHP 8. Se você já atualizou para PHP 7 ou PHP
.

8 e Apache 2.4, consulte Configurar Redis na máquina Swarm .


Execute as seguintes etapas:

Importante
As notas a seguir são aplicáveis ​​apenas para CentOS/RHEL7 e RHEL 8:

Como parte do processo de atualização do PHP, seu servidor Apache 2.2 será interrompido e desabilitado. Se
você estiver usando o servidor Apache 2.2 para qualquer outro aplicativo, eles pararão de funcionar. Você
precisará atualizar esses aplicativos para funcionarem com PHP 7 ou PHP 8 e Apache 2.4 ou movê-los para outro
servidor.
CentOS/RHEL 7: Use o pacote de configuração do repositório Remi ( remi-release-7.rpm ) para dar ao
Swarm acesso ao PHP 7 ou PHP 8. Use o pacote de configuração do repositório epel-release-latest-
7.noarch.rpm para dar ao Swarm acesso aos pacotes EPEL.
RHEL 8: Use o pacote de configuração do repositório Remi ( remi-release-8.rpm ) para dar ao Swarm acesso
ao PHP 7 ou PHP 8. Use o pacote de configuração do repositório epel-release-latest-8.noarch.rpm para
dar ao Swarm acesso ao Pacotes EPEL.
Swarm 2019.1 a 2020.1: essas versões do Swarm usavam pacotes PHP dos repositórios SCL para CentOS/RHEL
7. Isso era para fornecer acesso a versões mais recentes de PHP do que as disponíveis como padrão no
CentOS/RHEL. Isso exigiu o uso do pacote httpd24-httpd para Apache. Todos eles foram instalados em
/opt/rh
Swarm 2020.2 e posterior: essas versões do Swarm usam o repositório Remi para CentOS/RHEL 7 e RHEL 8.
Isso fornece o PHP 7.4 instalado na estrutura padrão do sistema de arquivos. Isso significa que a versão antiga
httpd24-httpd do Apache não é mais necessária e a versão padrão do sistema do Apache está sendo usada
novamente.
O arquivo de configuração do site SCL Apache foi instalado neste local para Swarm 2019.1 a 2020.1:
/opt/rh/httpd24/root/etc/httpd/conf.d/perforce-swarm-site.conf
Se isso existir quando Swarm for atualizado para 2020.2 e posterior, esse arquivo será copiado para
o
/etc/httpd/conf.d/perforce-swarm-site.conf se não houver nenhum arquivo no destino. Também foi
reescrito para alterar as referências de /var/log/httpd24 para /var/log/httpd
Se já existir um arquivo de configuração de site para Swarm em /etc/httpd , a cópia e reescrita não serão
executadas.
Após a atualização, o httpd24-httpd é desativado.
Para evitar ver a página de teste Linux do servidor HTTP Apache ao iniciar o servidor Apache, comente o
conteúdo do arquivo Welcome.conf localizado no diretório /etc/httpd/conf.d/ .
Para evitar carregar a configuração de exemplo do servidor HTTP Apache em vez da configuração do Swarm
quando o servidor Apache for iniciado, renomeie o arquivo autoindex.conf localizado no diretório
/etc/httpd/conf.d/ para z-autoindex.conf ou similar. Isso é necessário porque o Apache executa o
primeiro arquivo conf que encontra no diretório /etc/httpd/conf.d/ (ordem alfabética) e esse deve ser o
arquivo perforce-swarm-site.conf .

Esta seção descreve como instalar o PHP 7 ou PHP 8 e Apache 2.4 em seu sistema usando um repositório.
Este processo só é necessário na primeira vez que você atualizar para PHP 7 ou PHP 8. Instale o PHP 7 ou PHP 8 e migre a
configuração do Swarm Apache para usar o Apache 2.4.
Siga as instruções para a distribuição do seu sistema operacional, consulte CentOS/REHL 7 , RHEL 8 ou RHEL 9 abaixo:
CentOS/RHEL 7 (execute estes comandos como root):
Implante o pacote de configuração do repositório epel-release-latest-7.noarch.rpm para dar acesso ao Swarm
aos pacotes EPEL:
yum instalar https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Implante o pacote de configuração do repositório Remi para dar ao Swarm acesso ao PHP 7 ou PHP 8 (necessário
apenas na primeira vez que você atualizar para o PHP 7 ou PHP 8):
yum instalar https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Instale o pacote yum-utils para dar acesso ao comando yum-config-manager :

yum instalar yum-utils


Somente RHEL: Habilite o canal opcional para algumas dependências:
repositórios do gerenciador de assinaturas --enable=rhel-7-server-optional-rpms
Instale a versão padrão/única do PHP 7 ou PHP 8:
Desative remi-php* :

yum-config-manager --disable 'remi-php*'


Habilite PHP 7 ou PHP 8. Com base na versão do PHP que você deseja habilitar, use um dos seguintes comandos
yum-config-manager --enable remi-php7x
yum-config-manager --enable remi-php8x
Onde x é a versão do PHP 7 ou PHP 8.

Execute uma atualização para PHP:


yum atualização

Importante
Se você estiver atualizando do Swarm 2019.3 para o Swarm 2021.1 ou posterior, remova os arquivos
Swarm PHP 7.1:
yum remove $(lista yum instalada | grep php71 | awk '{print $1}')

Se você estiver atualizando do Apache 2.2, desative seu servidor HTTP Apache 2.2 para que ele não seja iniciado
automaticamente:
systemctl desabilitar httpd
Se você estiver atualizando do Apache 2.2, pare o servidor HTTP Apache 2.2:
systemctl parar httpd
Se você estiver atualizando do PHP 7.2, copie o arquivo 30-perforce.ini para o diretório /etc/php.d/ esta ,

etapa também altera o nome do arquivo ini para perforce.ini :

cp /etc/opt/rh/rh-php72/php.d/30-perforce.ini /etc/php.d/perforce.ini
Se você estiver atualizando do PHP 7.2 para o PHP 7.4, 8.0, 8.1 ou 8.2, substitua as referências do PHP 7.2 pelo número
da versão do PHP no arquivo perforce.ini usando o comando sed . Por exemplo, para atualizar do PHP 7.2 para
o PHP 7.4 use o seguinte comando sed :

sed -i "s/72/74/g" /etc/php.d/perforce.ini


Se você tiver alguma opção especial de configuração do php.ini definida, copie o arquivo php.ini para o diretório
/etc/php.d/ por exemplo:
,

cp /etc/opt/rh/rh-php72/php.d/php.ini /etc/php.d/php.ini
Copie o arquivo perforce-swarm-site.conf para o diretório /etc/httpd/conf.d/ se ainda não estiver lá, por
exemplo:
cp /opt/rh/httpd24/root/etc/httpd/conf.d/perforce-swarm-site.conf /etc/httpd/conf.d
/perforce-swarm-site.conf
Substitua o caminho do arquivo /log/httpd24 por /log/httpd/ no arquivo perforce-swarm-site.conf usando
o comando sed :

sed -i "s#/log/httpd24/#/log/httpd/#g" /etc/httpd/conf.d/perforce-swarm-site.conf


Habilite seu servidor HTTP Apache 2.4 para que ele seja iniciado automaticamente:
systemctl habilitar httpd
Inicie o servidor HTTP Apache 2.4:
systemctl iniciar httpd
Verifique se o SELinux está funcionando corretamente no seu sistema. Para obter instruções sobre como configurar o
SELinux no CentOS/RHEL, consulte Configuração do SELinux .

RHEL 8 (execute estes comandos como root):


Implante o pacote de configuração do repositório epel-release-latest-8.noarch.rpm para dar acesso ao Swarm
aos pacotes EPEL:
instalação dnf https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Implante o pacote de configuração do repositório Remi para dar ao Swarm acesso ao PHP 7 ou PHP 8 (necessário
apenas na primeira vez que você atualizar para o PHP 7 ou PHP 8):
instalação dnf https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Instale o pacote yum-utils para dar acesso ao comando yum-config-manager :

dnf instalar yum-utils


Habilite o canal opcional para algumas dependências:
repositórios do gerenciador de assinaturas --enable=rhel-8-server-optional-rpms
Instale a versão padrão/única do PHP 7 ou PHP 8:
Habilite o fluxo do módulo para PHP:
módulo dnf redefinir php
Instale PHP.
Se você deseja instalar o PHP 7.4, use o seguinte comando:
instalação do módulo dnf php:remi-7.4
Para instalar uma versão específica do PHP, substitua a referência do PHP 7.4 no comando acima.
Execute uma atualização para PHP:
atualização dnf

Importante
Se você estiver atualizando do Swarm 2019.3 para o Swarm 2021.1 ou posterior, remova os arquivos
Swarm PHP 7.1:
yum remove $(lista yum instalada | grep php71 | awk '{print $1}')

Se você estiver atualizando do Apache 2.2, desative seu servidor HTTP Apache 2.2 para que ele não seja iniciado
automaticamente:
systemctl desabilitar httpd
Se você estiver atualizando do Apache 2.2, pare o servidor HTTP Apache 2.2:
systemctl parar httpd
Se você estiver atualizando do PHP 7.2, copie o arquivo 30-perforce.ini para o diretório /etc/php.d/ esta ,

etapa também altera o nome do arquivo ini para perforce.ini :

cp /etc/opt/rh/rh-php72/php.d/30-perforce.ini /etc/php.d/perforce.ini
Se você estiver atualizando do PHP 7.2, substitua as referências do PHP 7.2 pelo número da versão do PHP no arquivo
perforce.ini usando o comando sed Por exemplo, para atualizar do PHP 7.2 para o PHP 7.4 use o seguinte
.

comando sed :
sed -i "s/72/74/g" /etc/php.d/perforce.ini
Se você tiver alguma opção especial de configuração do php.ini definida, copie o arquivo php.ini para o diretório
/etc/php.d/ por exemplo: ,

cp /etc/opt/rh/rh-php72/php.d/php.ini /etc/php.d/php.ini
Copie o arquivo perforce-swarm-site.conf para o diretório /etc/httpd/conf.d/ se ainda não estiver lá, por
exemplo:
cp /opt/rh/httpd24/root/etc/httpd/conf.d/perforce-swarm-site.conf /etc/httpd/conf.d
/perforce-swarm-site.conf
Substitua o caminho do arquivo /log/httpd24 por /log/httpd/ no arquivo perforce-swarm-site.conf usando
o comando sed :

sed -i "s#/log/httpd24/#/log/httpd/#g" /etc/httpd/conf.d/perforce-swarm-site.conf


Habilite seu servidor HTTP Apache 2.4 para que ele seja iniciado automaticamente:
systemctl habilitar httpd
Inicie o servidor HTTP Apache 2.4:
systemctl iniciar httpd
Verifique se o SELinux está funcionando corretamente no seu sistema. Para obter instruções sobre como configurar o
SELinux no CentOS/RHEL, consulte Configuração do SELinux .

RHEL 9 (execute estes comandos como root):


Execute uma atualização para PHP, isso também atualizará os pacotes Swarm :

atualização dnf
Se você não executou dnf update na etapa anterior, execute o atualização do pacote Swarm agora:
yum instalar helix-swarm helix-swarm-triggers helix-swarm-opcional

Importante
Se você estiver atualizando do Swarm 2019.3 para o Swarm 2021.1 ou posterior, remova o
Swarm arquivos
yum remove $(lista yum instalada | grep php71 | awk '{print $1}')

Opcional, ImageMagick: quando o ImageMagick está habilitado, o Swarm pode exibir os seguintes formatos de
imagem: BMP, EPS, PSD, TGA, TIFF.
Instale o ImageMagick:
yum instale o ImageMagick
Reinicie o servidor web para que o ImageMagick seja selecionado.
systemctl reiniciar httpd
Verifique se o SELinux está funcionando corretamente no seu sistema. Para obter instruções sobre como configurar o
SELinux no CentOS/RHEL, consulte Configuração do SELinux .

PHP 7 ou PHP 8 e Apache 2.4 agora estão instalados, configure o serviço Swarm Redis na máquina Swarm consulte Configurar ,

Redis na máquina Swarm .

Configure o Redis na máquina Swarm


Siga as instruções para a versão do Swarm da qual você está atualizando:
Atualize do Swarm 2019.1 e versões anteriores
Atualize do Swarm 2019.2 e posterior

Atualize do Swarm 2019.1 e versões anteriores


O Swarm requer que o Redis gerencie seus caches e, por padrão, o Swarm usa seu próprio servidor Redis na máquina Swarm O .

Swarm armazena dados em cache do Helix Core Server para melhorar o desempenho de pesquisas comuns no Swarm e para reduzir a
carga no Helix Core Server Redis está incluído na instalação do Swarm Tarball.
.

Esta seção descreve como configurar o serviço Swarm Redis na máquina Swarm Não altere os valores padrão dos arquivos de.

configuração a seguir se estiver usando o servidor Swarm Redis.


Dica
Se necessário, você pode usar seu próprio servidor Redis em vez do servidor Swarm Redis. Para obter instruções
sobre como configurar o Swarm para usar seu próprio servidor Redis, consulte Use seu próprio servidor Redis .

Swarm tem dois binários Redis em SWARM_ROOT /p4-bin/bin.linux26x86_64/ :

redis-server-swarm
redis-cli-enxame

Configure o banco de dados de cache Redis, insira os seguintes detalhes no arquivo redis-server.conf em
/opt/perforce/etc/ :

vincular 127,0 . 0.1


porta 7379
salvamento automático
supervisionado ""
dir / opt / perforce / swarm / redis

Valores padrão:
Dica
As configurações padrão são mostradas abaixo, o arquivo redis-server.conf contém informações mais
detalhadas sobre a configuração do Redis para Swarm .

Em sistemas Swarm com um grande número de usuários, grupos e projetos, o tempo de inicialização pode
ser melhorado persistindo o cache de memória. Você pode persistir o cache de memória desabilitando
salvamentos em segundo plano e habilitando salvamentos anexados. Consulte os comentários do arquivo
redis-server.conf para obter informações detalhadas.
bind 127.0.0.1 Endereço IP do servidor Redis (interface de loopback)
-

porta 7379 – número da porta do servidor Redis


supervisionado automaticamente - detecta o uso de upstart ou systemd automaticamente para sinalizar que o
processo está pronto para usar os supervisores
salvar "" - salvamento em segundo plano desabilitado, recomendado.
dir /opt/perforce/swarm/redis - o diretório no qual o banco de dados de cache Redis está armazenado.

Dica
Para ajustar as configurações do servidor Redis, faça as alterações no adaptador Laminas Redis. Para obter
informações sobre o adaptador Laminas Redis, consulte a documentação do Adaptador Laminas Redis .

O banco de dados de cache Redis deve estar em execução antes do Swarm portanto, recomendamos configurá-lo como um
,

serviço para que ele seja iniciado automaticamente no momento da inicialização.


O script de exemplo a seguir irá:

execute o serviço Redis como o Perforce usuário


use o arquivo de configuração em /opt/perforce/etc/redis-server.conf
suponha que o servidor de banco de dados esteja instalado em /opt/perforce/swarm/p4-bin/bin.linux26x86_64/
Para configurar o Redis como um serviço, adicione um script com o seguinte conteúdo em /etc/systemd/system
redis-server-swarm.service
[ Unidade ] Descrição = Servidor Redis para Swarm After = rede . alvo

[ Serviço ] ExecStart = /opt/ perforce / swarm / p4 - bin / bin . linux26x86_64 / redis - server - swarm
ExecStop = /opt/ perforce / swarm / p4 - bin / bin . linux26x86_64 / redis- _
cli - swarm shutdown
Restart = sempre
RestartSec = 10 StandardOutput = syslog
StandardError = syslog
SyslogIndentifier = redis
User = perforce
Group = perforce

[ Instalar ] WantedBy = multiusuário . _ _ alvo

Crie o SWARM_ROOT /data/config.php arquivo se ele ainda não existir. O bloco redis do SWARM_ROOT /data
/config.php arquivo contém os detalhes de senha namespace host e porta do servidor Swarm Redis:
, ,

<? php
// este bloco deve ser um par de 'p4' 'redis' => array ( 'options' => array ( 'password' => null , //

'check_integrity' => '03:00' , // O padrão é '03:00' Use um dos dois formatos a seguir: // 1) A hora

Configuráveis:
senha : senha do servidor Redis. O padrão é nulo e deve ser deixado como padrão se estiver usando o servidor Swarm
Redis.
namespace prefixo usado para valores-chave no cache Redis. O padrão
: o é Swarm e deve ser deixado como padrão se
estiver usando o servidor Swarm Redis.
Observação
Se você tiver várias instâncias do Swarm em execução em um único servidor Redis, cada servidor Swarm
deverá usar um namespace Redis diferente Isso permite que os dados de cache das instâncias individuais
.

do Swarm sejam identificados. O espaço para nome é limitado a ≤ 128 caracteres.


Se uma ou mais de suas instâncias do Swarm estiverem conectadas a vários Helix Core Servers o ,

namespace Redis incluirá o rótulo do servidor e o limite de caracteres será reduzido para ≤ 127
caracteres, consulte Instâncias de Multiple-Helix Core Server .

host nome do host do servidor Redis. O padrão é localhost e deve ser deixado como padrão se estiver usando o
:

servidor Swarm Redis.


porta número da porta do servidor Redis. O padrão é 7379 O Swarm usa a porta 7379 como padrão para evitar
: .

conflitos com outros servidores Redis que possam estar na sua rede. Deve ser deixado como padrão se estiver usando o
servidor Swarm Redis. A porta padrão para um servidor não Swarm Redis é 6379 .

items_batch_size número máximo de pares chave/valor permitidos em uma chamada mset para Redis. Os conjuntos
:

que excederem este valor serão agrupados de acordo com este máximo para eficiência. O padrão é 100000 .

Observação
O valor padrão de 100.000 foi escolhido para encontrar um equilíbrio entre eficiência e complexidade dos
dados do projeto. Normalmente, esse valor não precisa ser alterado. Entre em contato com o suporte antes
de fazer uma alteração nesse valor.

check_integrity :em algumas circunstâncias, como quando alterações são feitas no Helix Core Server quando o Swarm
está inativo ou se ocorrerem erros durante as atualizações, o cache Redis pode ficar fora de sincronia com o Helix Core
Server O Swarm pode executar uma verificação de integridade regular para garantir que os caches Redis e o Helix Core
.

Server estejam sincronizados. Se uma verificação de integridade encontrar um arquivo de cache fora de sincronia, o Swarm
atualizará automaticamente os dados nesse cache.
O configurável check_integrity especifica quando a verificação de integridade do cache Redis é executada. Defina como
uma hora específica do dia (formato de 24 horas com zeros à esquerda) ou um número de segundos (número inteiro
positivo) entre as verificações. Desative a verificação de integridade com '0' O padrão é '03:00' . .

population_lock_timeout especifica o tempo limite, em segundos, para o preenchimento inicial do cache. Se você
:

tiver um sistema Swarm grande aumente esse tempo se a população inicial do cache expirar. O padrão é 300 segundos.
,

Agora que o serviço Swarm Redis está configurado para a máquina Swarm inicie , a atualização do Swarm consulte Atualizar
, o Swarm
.

Atualize do Swarm 2019.2 e posterior


O Swarm requer que o Redis gerencie seus caches e, por padrão, o Swarm usa seu próprio servidor Redis na máquina Swarm O .

Swarm armazena dados em cache do Helix Core Server para melhorar o desempenho de pesquisas comuns no Swarm e para reduzir a
carga no Helix Core Server Redis está incluído na instalação do Swarm Tarball.
.

Observação
Se você estiver usando seu próprio servidor Redis em vez do servidor Swarm Redis, atualize seu servidor Redis para a
versão fornecida com a atualização do Swarm .

Swarm tem dois binários Redis em SWARM_ROOT /p4-bin/bin.linux26x86_64/ :

redis-server-swarm
redis-cli-enxame

Se os binários Redis fornecidos com sua nova versão do Swarm tiverem sido atualizados, seu servidor Redis será atualizado
automaticamente para a nova versão do servidor Redis. Seus arquivos de configuração originais do Redis não serão alterados. Não
altere os valores padrão dos arquivos de configuração do Redis se estiver usando o servidor Swarm Redis.
Reinicie o servidor Redis:
Se os binários do Redis tiverem sido atualizados e você estiver executando o Redis como um serviço (recomendado), reinicie o servidor
Redis para usar a nova versão do servidor Redis.
Execute o seguinte comando para reiniciar o servidor Redis:
systemctl reiniciar redis-server-swarm
Agora você está executando a versão atualizada do servidor Redis.
Dica
Em sistemas Swarm com um grande número de usuários, grupos e projetos, o tempo de inicialização pode ser
melhorado persistindo o cache de memória. Você pode persistir o cache de memória desabilitando salvamentos
em segundo plano e habilitando salvamentos anexados. Consulte os comentários do arquivo redis-
server.conf para obter informações detalhadas.

Agora que o serviço Swarm Redis está configurado para a máquina Swarm inicie
, a atualização do Swarm consulte Atualizar
, o
Swarm .

Atualizar Enxame
As etapas nesta seção descrevem como atualizar o Swarm usando o arquivo fornecido. SWARM_ROOT refere-se à instalação atual do
Swarm .

Baixe o novo arquivo TAR em https://www.perforce.com/downloads/helix-swarm .

Expanda o novo swarm.tgz :

tar -zxf enxame.tgz


O conteúdo de swarm.tgz é expandido em uma pasta de nível superior chamada onde corresponde , à versão baixada. Este
diretório é identificado conforme abaixo. swarm- version version SWARM_NEW
Mude SWARM_NEW para ser um par de SWARM_ROOT :

mv SWARM_NEW SWARM_ROOT/../
Copie o SWARM_ROOT /data/config.php arquivo de SWARM_ROOT para SWARM_NEW :

cp -p SWARM_ROOT/data/config.php SWARM_NEW/data/
Crie o diretório do token da fila:

mkdir SWARM_NEW/data/queue
Copie os tokens de acionamento existentes:
sudo cp -pR SWARM_ROOT/data/queue/tokens SWARM_NEW/data/queue/
Configure o arquivo ImageMagick policy.xml para permitir que o Swarm crie miniaturas se ainda não estiver configurado:
Abra o arquivo ImageMagick policy.xml para edição:
/etc/ImageMagick-6/policy.xml
Desative as linhas com o padrão abaixo para os seguintes <filetype> s: PS PS2
, , EPS PDF ou XPS
, :

<policy domain="coder" rights="none" pattern=" <filetype> " />


Salve o arquivo policy.xml .

Atribua a propriedade correta ao novo diretório de dados do Swarm :

sudo chown -R www-data SWARM_NEW/data

Observação
O usuário www-data acima é um exemplo de qual pode ser o nome de usuário do servidor web e pode variar de
acordo com a distribuição ou personalização. Por exemplo, o usuário normalmente é Apache para Red
Hat/CentOS e www-data para Debian/Ubuntu.

Atualize seus gatilhos, consulte Atualizar seus gatilhos .

Atualize seus gatilhos


Importante
Se você estiver usando Swarm Helix Core Server Triggers, a extensão Swarm Helix Core Server não deverá ser
instalada.
Copie novo script de gatilho Swarm para sua máquina Helix Core Server O script de gatilho é SWARM_ROOT/p4-bin/scripts
o .

/swarm-trigger.pl e requer instalação do Perl 5.08+ (use o mais recente disponível) na máquina Helix Core Server Se o
, .

Swarm estiver usando SSL, os gatilhos também exigirão o IO::Socket::SSL módulo Perl.

Aviso
Não substitua nenhum script de gatilho existente neste momento. Dê um novo nome ao script, por exemplo:
swarm-trigger-new.pl .

Configure o script de gatilho Swarm criando, no mesmo diretório da máquina Helix Core Server swarm-trigger.conf , arquivos
.Deve conter:
Observação
Se você já possui um swarm-trigger.conf arquivo, nenhuma configuração adicional será necessária.

# SWARM_HOST (obrigatório) # Nome do host da sua instância do Swarm, com "http://" ou "https://" inicial.
SWARM_HOST = "http:// meu-swarm-host "

# SWARM_TOKEN (obrigatório) # O token usado ao falar com o Swarm para oferecer alguma segurança. Para obter
SWARM_TOKEN = " MEU-UUID-STYLE-TOKEN "

# ADMIN_USER (opcional) Não use se o recurso Workflow estiver habilitado (padrão) # Para impor alterações
ADMIN_USER =

# ADMIN_TICKET_FILE (opcional) Não use se o recurso Workflow estiver habilitado (padrão) # Para impor alterações

ADMIN_TICKET_FILE =

# VERIFY_SSL (opcional) # Se HTTPS estiver sendo usado no servidor web Swarm, então isso controla se # o
VERIFICAR_SSL = 1

Preencha as variáveis ​​SWARM_HOST e SWARM_TOKEN necessárias com a configuração de qualquer script de gatilho Swarm anterior
,normalmente swarm-trigger.pl .

Dica
As variáveis ​​ADMIN_USER e ADMIN_TICKET foram usadas pelos 'gatilhos de aplicação' no Swarm 2019.1 e
versões anteriores. Eles podem ser removidos, a menos que você desabilite explicitamente o fluxo de trabalho e
use os obsoletos 'gatilhos de aplicação' .

Observação
Swarm 2015.4 e anteriores: os arquivos de script de gatilho do Swarm estavam disponíveis como scripts de
shell nessas versões anteriores do Swarm normalmente swarm-trigger.sh
, .

O Swarm agora deve usar um arquivo de script de gatilho Perl, normalmente swarm-trigger.pl .

No Linux: certifique-se de que o script seja executável:


sudo chmod +x swarm-trigger-new.pl
Renomeie o novo script de gatilho:
No Linux:
mv swarm-trigger-new.pl swarm-trigger.pl
No Windows:
ren swarm-trigger-new.pl swarm-trigger.pl
Atualize os gatilhos em seu Helix Core Server .

Aviso
A linha de gatilho swarm.shelvedel shelve-delete foi adicionada ao Swarm na versão 2018.1 e
atualizada na versão 2020.1.
Atualizando do Swarm 2017.4 e versões anteriores: adicione a swarm.shelvedel shelve-
delete linha de gatilho à tabela de gatilhos do Helix Core Server se ela ainda não estiver presente,
consulte Atualizar a tabela de gatilhos do Helix Core Server para executar o script de gatilho.
Atualizando do Swarm 2018.x e 2019.x: substitua a linha de gatilho existente swarm.shelvedel
shelve-delete na tabela de gatilhos do Helix Core Server pela fornecida na versão do Swarm para a
qual você está atualizando.
Recurso de fluxo de trabalho:
O recurso Workflow está habilitado por padrão no Swarm 2019.2 e posterior. As linhas de gatilho
necessárias quando o fluxo de trabalho está habilitado são diferentes daquelas exigidas quando o fluxo de
trabalho está desabilitado:
Recurso de fluxo de trabalho ativado (padrão):
Comente as linhas de gatilho swarm.enforce.1 swarm.enforce.2 swarm.strict.1 e
, ,

swarm.strict.2 na tabela de gatilhos do Helix Core Server se estiverem presentes, consulte


,

Atualizar a tabela de gatilhos do Helix Core Server para execute o script de gatilho.
Adicione as linhas swarm.enforce change-submit swarm.strict change-content e
,

swarm.shelvesub shelve-submit trigger à tabela de gatilhos do Helix Core Server se elas ainda
não estiverem presentes. Consulte Atualizar a tabela de gatilhos do Helix Core Server para
executar o script de gatilho.
Recurso de fluxo de trabalho desativado :
Comente as linhas swarm.enforce change-submit swarm.strict change-content e
,

swarm.shelvesub shelve-submit trigger na tabela de gatilhos do Helix Core Server se estiverem ,

presentes. Consulte Atualizar a tabela de gatilhos do Helix Core Server para executar o script de
gatilho.

Execute o script de gatilho Swarm para capturar (usando Ctrl+C no Windows e Linux) as linhas de gatilho que devem ser
incluídas na tabela de gatilhos Perforce :

No Linux:
./swarm-trigger.pl -o
No Windows:
caminho/para/perl swarm-trigger.pl -o
Como um usuário do Perforce com superprivilégios atualize a tabela de gatilhos do Perforce executando p4 triggers o
,

comando e substituindo quaisquer swarm.* linhas pela saída da linha de gatilho capturada anteriormente (usando Ctrl+V
no Windows e Linux).

Importante
Se você personalizou anteriormente as linhas de gatilho do Swarm talvez para aplicar várias opções de gatilho
, ,

certifique-se de repetir essas personalizações nas linhas de gatilho atualizadas.

Substitua sua instância antiga do Swarm pela nova instância do Swarm


Importante
O tempo de inatividade ocorre nesta etapa.

Substitua sua instância antiga do Swarm pela nova instância do Swarm Execute
. o seguinte comando:
sudo apache2ctl parar; mv SWARM_ROOT SWARM.old; mv SWARM_NEW SWARM_ROOT; sudo apache2ctl iniciar

Observação
Se você vir a seguinte mensagem de erro ao iniciar o Swarm o Swarm está usando a versão errada do P4PHP A
, .

versão mais recente do P4PHP está incluída no tarball do Swarm mas você deve configurar o Swarm para usar essa
,

versão do P4PHP Para obter instruções sobre como configurar o Swarm para usar a nova versão do P4PHP consulte
. ,

Configuração do PHP .

Recarregue o cache de configuração do Swarm


Como usuário administrador exclua e recarregue o cache de configuração do Swarm na guia Informações do cache da página
,

Informações do sistema Navegue até o menu suspenso ID do usuário , selecione Informações do sistema selecione a guia
. ,

Informações do cache e selecione Recarregar configuração Para obter mais informações, consulte Informações de cache
. .

Valide sua atualização


Dica
Quando o Swarm é iniciado, ele verifica o cache do Redis; durante esse período, você não pode fazer login no Swarm .

O tempo necessário para verificar o cache do Redis depende do número de usuários, grupos e projetos que o Swarm
possui. O tempo de inicialização pode ser melhorado persistindo o cache de memória. Você pode persistir o cache de
memória desabilitando salvamentos em segundo plano e habilitando salvamentos anexados no arquivo redis-
server.conf consulte Arquivo de configuração do servidor Redis
, .

Verifique se sua nova instância do Swarm está funcionando corretamente fazendo o seguinte:
Crie uma nova lista de alterações que:
Contém pelo menos um arquivo modificado
Contém a palavra-chave #review na descrição da lista de alterações
Clique com o botão direito na nova lista de alterações no P4V e clique em Arquivar arquivos...

Importante
Não selecione Solicitar nova revisão do Swarm ... porque este método usa a API e não testará completamente
a extensão do Swarm Helix Core Server .

Isso também é verdade se você estiver usando Swarm Helix Core Server Triggers em vez da extensão Swarm
Helix Core Server .

Verifique se uma nova revisão do Swarm foi criada para a lista de alterações.
Se uma revisão do Swarm for criada, a extensão do Swarm Helix Core Server estará funcionando. Se você estiver usando
Swarm Helix Core Server Triggers em vez da extensão Swarm Helix Core Server e a revisão for criada, os gatilhos estão
funcionando.
Se uma revisão do Swarm não for criada, consulte Revisão não criada .
Atualização do índice Swarm
Se você estiver atualizando do Swarm 2017.2 ou anterior, deverá executar a atualização do índice, isso garante que o histórico de
atividades de revisão seja exibido na ordem correta nas páginas da lista Dashboard e Reviews .

Observação
Se você estiver atualizando do Swarm versão 2017.3 ou posterior, a etapa de atualização do índice não será
necessária.

O processo de atualização do índice pode ser configurado para atender às especificações do seu sistema Swarm Consulte Índice de
.

atualização para obter detalhes.


Execute a atualização como usuário administrador visitando o seguinte URL:
http://SWARM-HOST/atualização

Observação
Após a atualização do Swarm na primeira visita a algumas páginas do Swarm os usuários poderão ver uma
, ,

mensagem para realizar uma atualização completa do navegador. Isso acontece porque estamos atualizando a UI e o
conteúdo de algumas páginas do Swarm então o cache da página do usuário não é mais válido e requer uma
,

atualização completa para carregar a página atualizada. Por exemplo, para Chrome no Windows/Linux [CTRL] + [F5] .

Tudo feito!

Você também pode gostar