Auto deploy
O LumisXP possui um mecanismo de deploys automatizados.
Esse mecanismo varre, periodicamente, a pasta lumisdata/data/autoDeploy
em busca de arquivos com extensão .jar
e .zip
.
Uma vez encontrados, esses arquivos serão implantados no portal, um por vez.
O ciclo básico do auto deploy scanner é:
-
Uma vez que não existam arquivos
.jar
ou.zip
na pastalumisdata/data/autoDeploy
, aguarde notificação de criação de arquivos pelo sistema de arquivos. -
Para cada arquivo na pasta:
-
Se a data de última modificação e o tamanho do arquivo estiveram estabilizados por um período igual ou superior a
fileReadyInterval
(ver parametrização abaixo), então prossiga. Senão, pule para o próximo arquivo. -
Tente ler o arquivo para verificar se é um módulo ou um pacote. Caso não consiga ler, o arquivo será marcado como falha (ganhará uma extensão
.error
). Caso consiga, prossiga. -
Renomear o arquivo adicionando uma extensão
.deploying
. - Realizar o deploy do arquivo.
-
Caso o deployment tenha sido com sucesso, renomear o arquivo removendo a extensão
.deploying
e adicionando uma extensão.success
. Caso o contrário, renomear o arquivo removendo a extensão.deploying
e adicionando uma extensão.error
.
-
Se a data de última modificação e o tamanho do arquivo estiveram estabilizados por um período igual ou superior a
-
Aguarde até que o tempo
pollInterval
(ver parametrização abaixo) tenha sido atingido (caso não tenha sido atingido ainda). - Repetir o procedimento.
Parametrização
O auto deploy scanner pode ser configurado via System Properties. Elas são:
- lumis.portal.deployment.autodeploy.enabled
-
Booleano (
true
oufalse
) que indica se o auto deploy estará habilitado ou não.
Padrão:true
(habilitado). - lumis.portal.deployment.autodeploy.pollInterval
-
Tempo mínimo em milissegundos entre iterações do scanner. Esse tempo pode ser maior, caso algum deployment
seja realizado durante uma iteração.
Padrão:10000
(10 segundos).
Tempo igual a0
(zero), desabilita o tempo mínimo entre iterações do scanner. - lumis.portal.deployment.autodeploy.fileReadyInterval
-
Tempo mínimo em milissegungos de estabilização da data de última alteração e tamanho do arquivo antes que o mesmo possa ser processado.
Padrão:10000
(10 segundos).
Tempo igual a0
(zero), desabilita o tempo mínimo de estabilização. Isso faz com que o arquivo tente ser processado na primeira iteração do scanner que esse arquivo esteja presente. - lumis.portal.deployment.autodeploy.syncStructure
-
Booleano (
true
oufalse
) que indica se a sincronização de estruturas deve ser feita pelo auto deploy.
Padrão:true
(verdadeiro). - lumis.portal.deployment.autodeploy.forceReprocess
-
Booleano (
true
oufalse
) que indica se o auto deploy deve forçar o reprocessamento dos componentes.
Padrão:false
(falso).