Script de auxílio de upgrade do LumisXP
O LumisXP possui um script para auxiliar no seu upgrade. É um script compatível tanto com Windows quanto com Linux e ele tem o propósito de auxiliar no processo de atualização do LumisXP.
Vale ressaltar, no entanto, que esse script não executa o processo completo, que envolve, entre outras coisas, o backup do ambiente. Ele só visa auxiliar em alguns passos que podem ser automatizados.
Para que o script seja executado, é necessário ter um arquivo de configuração chamado lumisxpupgrade.config.yml
no mesmo diretório
a partir do qual o script será chamado. Vale ressaltar que esse diretório deve ser algum diretório fora do diretório de instalação do
LumisXP.
O arquivo de configuração
O arquivo de configuração de atualização lumisxpupgrade.config.yml
tem as seguintes opções:
Abaixo segue a descrição de cada opção dessas:
Opção | Obrigatório | Valor padrão | Descrição | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
targetVersion |
Sim |
Versão para a qual se quer atualizar o LumisXP. Aceita versões completas (ex: 16.1.0.240202-0 ) ou versões parciais (ex: 16.1.0 , 16.1.x , 16.x , 16 ).Caso a definição da versão seja parcial e ela satisfaça a mais de uma versão, a versão mais recente será escolhida. Como exemplo, caso houvessem disponíveis para download as versões 16.0.0.230707-0 , 15.0.4.230411-0 ,
14.2.0.220506-0 e 14.1.1.220128-0 , as seguintes versões seriam escolhidas:
|
|||||||||||||||
lumisxp.directory |
Sim | Diretório de instalação do LumisXP. Caso o LumisXP esteja instalado utilizando a versão Standalone,
esse diretório é o diretório raiz da versão Standalone (diretório que contém o diretório lumisportal ). |
|||||||||||||||
appserver.type |
Sim | Indica o tipo de servidor de aplicação sendo utilizado. Pode ser Tomcat ou JBoss . |
|||||||||||||||
appserver.http.port |
Não | Nenhum, se a instalação não é Standalone. |
Porta HTTP do servidor de aplicação. Utilizada em conjunto com appserver.http.bind para validar se o servidor
está sendo executado ou não. Caso não definida, essa validação não será realizada.
|
||||||||||||||
9080 , se a instalação é Standalone |
|||||||||||||||||
appserver.http.bind |
Não | "127.0.0.1" |
Endereço de escuta do servidor de aplicação. Utilizado em conjunto com appserver.http.port para validar se o
servidor está sendo executado ou não. Só é utilizado se appserver.http.port for definido.
|
||||||||||||||
appserver.stop.command |
Não | Comando opcional a ser utilizado para parar o servidor de aplicação antes do upgrade ser realizado. | |||||||||||||||
webserver.type |
Sim | Indica o tipo de servidor web sendo utilizado. Pode ser None (nenhum), Apache ou Nginx . |
|||||||||||||||
webserver.version |
Não | Indica a versão atual do servidor web sendo utilizado. Utilizado para validar a compatibilidade do servidor web com a nova versão do LumisXP. | |||||||||||||||
webserver.getVersionCommand |
Não |
Comando a ser executado para obter a versão do servidor web.
Só é utilizado se webserver.version não for definido.
|
|||||||||||||||
bigdata.config.directory |
Não | Indica o diretório de configuração do Elasticsearch. Utilizado para validar se as opções necessárias para o correto funcionamento do LumisXP estão presentes. | |||||||||||||||
lumiswebsite.username |
Não | Nome de usuário para efetuar o download da nova versão do LumisXP a partir do website da Lumis. Caso não definido, será solicitado durante o processo de atualização. |
Atualização no Linux
Como exemplo, suponha que:
- O LumisXP está instalado em
/lumis/lumisxp
. - A atualização será feita para a última versão disponível.
- O usuário que fará o download da nova versão a partir do site da Lumis é
meu_usuario
. - O servidor de aplicação usado seja o Apache Tomcat e ele será parado manualmente.
- O servidor web usado é o Nginx.
- A versão do servidor web é
1.25.3
. - A atualização será inicializada a partir de um diretório
~/lumisxp-upgrade
. - Os servidores Elasticsearch estão em outras máquinas e, por isso, os diretórios de configuração devem ser configurados manualmente.
Nesse caso, o arquivo de configuração de atualização lumisxpupgrade.config.yml
estaria na pasta ~/lumisxp-upgrade
.
cat lumisxpupgrade.config.yml
Para inicializar o processo de atualização, precisa-se:
- Fazer o backup completo do ambiente.
- Mudar o diretório atual para
~/lumisxp-upgrade
:cd ~/lumisxp-upgrade
. - Executar o script de atualização:
bash <(curl https://www.lumis.com.br/lumisxp/upgrade/upgrade.sh)
. - Seguir as instruções do script.
Atualização no Windows
Como exemplo, suponha que:
- O LumisXP está instalado em
C:\lumis\lumisxp
. - A atualização será feita para a versão
16.1.0
. - O usuário que fará o download da nova versão a partir do site da Lumis é
meu_usuario
. - O servidor de aplicação usado seja o Apache Tomcat.
- O comando a ser utilizado para parar o servidor de aplicação seja
net stop tomcat
- Nenhum servidor web é usado.
- A atualização será inicializada a partir de um diretório
C:\lumis\lumisxp-upgrade
. - O diretório de configuração do Elasticsearch é
C:\lumis\elasticsearch\config
.
Nesse caso, o arquivo de configuração de atualização lumisxpupgrade.config.yml
estaria na pasta C:\lumis\lumisxp-upgrade
.
more lumisxpupgrade.config.yml
Para inicializar o processo de atualização, precisa-se:
- Fazer o backup completo do ambiente.
- Abrir um terminal Powershell.
- Mudar o diretório atual para
C:\lumis\lumisxp-upgrade
:cd C:\lumis\lumisxp-upgrade
. - Executar o script de atualização:
Invoke-Expression((New-Object System.Net.WebClient).DownloadString('https://www.lumis.com.br/lumisxp/upgrade/upgrade.ps1'))
. - Seguir as instruções do script.
Atualização de um ambiente com cluster
Caso se queira atualizar um ambiente com cluster, o processo descrito acima deve ser repetido em cada nó do cluster LumisXP.
Porém, o último passo do script (no qual é perguntado Would you like to execute LumisXP upgrade script (<nome do script>)?
If it is a cluster install and the script has already been executed in other node, you should answer 'No'.
) só deve ser executado
em um dos nós do cluster. Nos outros, a resposta a essa pergunta deve ser No
.
Observações
- Esse método de atualização só está disponível a partir da versão 16.1.0 do LumisXP.
-
Antes de inicializar o(s) servidor(es) de aplicação do LumisXP pela primeira vez após a atualização, deve-se:
- Revisar toda a instalação para eventuais correções e adequações para a nova versão do LumisXP.
- Revisar todos os arquivos de configuração para eventuais correções e adequações para a nova versão do LumisXP.
- Revisar todos os arquivos da solução para eventuais correções e adequações para a nova versão do LumisXP.
- Revisar toda a configuração dos servidores (de aplicação, web, de banco de dados, Elasticsearch etc) para eventuais correções e adequações para a nova versão do LumisXP.
- Reinicializar os servidores (web, Elasticsearch, de banco de dados etc) que necessitem (por exemplo, por conta de mudanças em suas configurações).