Pular para o conteúdo principal

Atualização do Signer em Docker

Esta página mostra como atualizar uma instância on-premises do Signer que usa a imagem lacunasoftware/signer, em um container ou em uma stack do Docker Swarm.

Antes de atualizar​

  1. Verifique a versão instalada. Abra https://<seu-dominio>/api/system/info. O campo productVersion mostra a versão.
  2. Leia o changelog de todas as versões entre a sua e a nova. Procure as versões marcadas com alteração no modelo do banco de dados.
  3. Se você vai sair da versão 2.x para a 3.x, leia também Atualizando para 3.x. As imagens 3.x já trazem o ASP.NET Core Runtime 10.0.
  4. Atualize primeiro o ambiente de homologação. Teste o envio e a assinatura de documentos antes de atualizar a produção.
  5. Escolha um horário de pouco uso. Na primeira inicialização, a aplicação atualiza o banco de dados quando a versão nova tem alterações no modelo.
dica

Use a tag com a versão exata, por exemplo lacunasoftware/signer:3.0.0. As tags 3, stable e latest mudam a cada versão nova. Com elas, um reinício do container pode trazer uma versão que você não testou.

aviso

Se você executa mais de um container, só um deles deve atualizar o banco de dados. Reduza para um container antes de atualizar. Outra opção: em todos os containers menos um, defina General__AutoUpdateDatabase=false e General__ProcessBackgroundJobs=false.

Backup​

  1. Faça backup do banco de dados. Se você usa a stack padrão, o banco fica no volume sql. Se você usa um banco externo, faça o backup no SQL Server.
  2. Faça backup dos arquivos: o volume files da stack padrão ou o Blob Storage configurado.
  3. Guarde a chave de criptografia (signer_encryption_key) e as variáveis de ambiente ou o arquivo signer.json.

Veja Dados persistentes.

Atualização em um container​

  1. Baixe a imagem da versão nova:

    docker image pull lacunasoftware/signer:3.0.0
  2. Pare e remova o container atual.

  3. Execute um container novo com a imagem nova e as mesmas variáveis de ambiente e volumes do container anterior.

Atualização no Docker Swarm​

  1. Se o serviço tem mais de uma réplica, reduza para uma:

    docker service scale signer_signer=1
  2. No arquivo signer-stack.yml, troque a tag da imagem do serviço signer, por exemplo para lacunasoftware/signer:3.0.0.

  3. Faça o deploy da stack de novo:

    docker stack deploy -c signer-stack.yml signer
  4. Depois que o serviço iniciar, volte ao número de réplicas que você usava.

observação

Nos comandos acima, signer é o nome da stack. Se você fez o deploy com outro nome, troque o nome nos comandos.

Verifique a atualização​

  1. Abra https://<seu-dominio>/api/system/info e verifique se productVersion mostra a versão nova.
  2. Acompanhe o log durante a primeira inicialização. A atualização do banco pode levar alguns minutos. No Docker Swarm, execute docker service logs signer_signer -f. Em um container, execute docker logs -f <container>.

Se o container não iniciar e o log mostrar PKI SDK License was not loaded successfully, a aplicação não carregou a licença do PKI SDK (licença ausente, inválida ou vencida). Peça uma licença atualizada à Lacuna e informe-a em PkiSuite__SdkLicense.

Se algo der errado​

Se a versão nova tiver um problema, fale primeiro com o suporte da Lacuna. Se a versão nova aplicou migrações no banco de dados, voltar a tag da imagem não basta. Siga o rollback de versão e use a tag da versão anterior no passo de voltar os binários.

Veja também​

Ver em Markdown