Open the menu

    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:
    targetVersion Versão escolhida
    16.1.x 16.1.0.240202-0
    16.x 16.1.0.240202-0
    16 16.1.0.240202-0
    15 15.0.4.230411-0
    14 14.2.0.220506-0
    * 16.1.0.240202-0
    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:

    1. O LumisXP está instalado em /lumis/lumisxp.
    2. A atualização será feita para a última versão disponível.
    3. O usuário que fará o download da nova versão a partir do site da Lumis é meu_usuario.
    4. O servidor de aplicação usado seja o Apache Tomcat e ele será parado manualmente.
    5. O servidor web usado é o Nginx.
    6. A versão do servidor web é 1.25.3.
    7. A atualização será inicializada a partir de um diretório ~/lumisxp-upgrade.
    8. 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:

    1. Fazer o backup completo do ambiente.
    2. Mudar o diretório atual para ~/lumisxp-upgrade: cd ~/lumisxp-upgrade.
    3. Executar o script de atualização: bash <(curl https://www.lumis.com.br/lumisxp/upgrade/upgrade.sh).
    4. Seguir as instruções do script.



    Atualização no Windows

    Como exemplo, suponha que:

    1. O LumisXP está instalado em C:\lumis\lumisxp.
    2. A atualização será feita para a versão 16.1.0.
    3. O usuário que fará o download da nova versão a partir do site da Lumis é meu_usuario.
    4. O servidor de aplicação usado seja o Apache Tomcat.
    5. O comando a ser utilizado para parar o servidor de aplicação seja net stop tomcat
    6. Nenhum servidor web é usado.
    7. A atualização será inicializada a partir de um diretório C:\lumis\lumisxp-upgrade.
    8. 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:

    1. Fazer o backup completo do ambiente.
    2. Abrir um terminal Powershell.
    3. Mudar o diretório atual para C:\lumis\lumisxp-upgrade: cd C:\lumis\lumisxp-upgrade.
    4. Executar o script de atualização: Invoke-Expression((New-Object System.Net.WebClient).DownloadString('https://www.lumis.com.br/lumisxp/upgrade/upgrade.ps1')).
    5. 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).