Prática recomendada para atualizar o próprio aplicativo

1

Estamos desenvolvendo um aplicativo para PI de framboesa em python. Não temos muita experiência na implantação de aplicativos no linux e precisamos descobrir como atualizar esse aplicativo depois de lançá-lo. Nós inventamos duas formas:

  1. crie um repositório privado personalizado e crie o pacote .deb do aplicativo
  2. crie um script para verificar algum URL com o aplicativo compactado, descompacte-o e reescreva o aplicativo antigo.

Você pode recomendar a abordagem que devemos seguir?

    
por LadislavM 27.10.2015 / 10:28

2 respostas

4

Eu definitivamente iria com o pacote apt (.deb). Seu aplicativo será muito mais fácil de gerenciar nos sistemas de destino e você terá um nível muito mais alto de confiança em suas entregas de software. O APT é um sistema sólido.

O APT garantirá que todas as dependências de software sejam resolvidas. O Python, com "baterias incluídas", tem muitas dependências nas bibliotecas de software do sistema. Se você acabou de fazer o download do código e sobrescrever o aplicativo, não há verificação para garantir que o sistema contenha as versões corretas das bibliotecas das quais seu aplicativo pode depender. Isso pode fazer com que seu aplicativo se comporte incorretamente ou não funcione.

O APT também faz muitas verificações ao criar seu pacote de aplicativos. Existem muitas ferramentas e subsistemas APT para construir pacotes python.

Eu acredito que se você tentar criar seu próprio sistema de distribuição, no longo prazo você terá que desenvolver mais do seu próprio código e ter mais problemas logísticos.

No lado negativo, você precisará aprender a construir pacotes python no sistema APT, o que pode ser bastante complicado, mas acho que vale a pena.

Como usuário Debian e Ubuntu, desenvolvedor, administrador e empacotador há mais de 15 anos, eu não gostaria que um fornecedor quisesse distribuir software fora do sistema APT devido aos riscos envolvidos.

    
por 27.10.2015 / 11:02
1

"Alguns scripts que verificam atualizações" definitivamente parecem muito suspeitos. Ele precisaria de provisões extras, precisaria dos direitos necessários para atualizar o que não teria por padrão e você se deparará com todos os tipos de problemas e estará reinventando a roda. Eu nego estritamente qualquer atualização fora do sistema de empacotamento em meus sistemas - exceto para aqueles em que eu atualizo o software de seu próprio repositório de origem e onde sei o que faço e o que faço. É muito arriscado danificar meu sistema além do reparo.

Definitivamente, vá para o sistema de empacotamento fornecido com seu sistema de destino, portanto, um pacote .deb e, se desejar, até mesmo os ofereça em um repositório - que garante que os usuários possam atualizá-lo também com as ferramentas do sistema sudo apt-get update; sudo apt-get upgrade

    
por 27.10.2015 / 11:12