Os nomes dos diretórios de aplicativos devem incluir números de versão? [fechadas]

1

Eu tenho um aplicativo que deve ter atualizações ocasionais. Pelos meus pecados, é um aplicativo .Net Core rodando no Centos como um serviço systemd. Espera-se que o serviço esteja disponível funcionando mais ou menos 24/7 por longos períodos (meses / anos).

Eu preciso atualizá-lo remotamente. Eu realmente tenho um mecanismo - ele baixa um RPM quando disponível, gera um shell e inicia um script de bash nohup, incluindo yum -y localinstall <rpm name> , e então sai. O arquivo de especificação rpm do script bash é descompactado em um novo diretório /usr/bin/appname-<version number> e, quando concluído, move um link simbólico /usr/bin/appname para apontar para o novo diretório. Um systemctl restart <appname> conclui o processo e o diretório é referenciado pelo link simbólico.

Portanto, se o aplicativo for 'foo', eu tenho /usr/bin/foo_1.2.3.4 , com o link simbólico /usr/bin/foo apontando para ele.

Isso realmente funciona muito bem. No entanto, o gerenciamento não está satisfeito com o esquema de diretórios com versão. Fui solicitado a verificar se isso é considerado uma prática aceitável. Se não, qual é prática padrão? Em teoria, eu poderia desligar o serviço, escrever tudo em /usr/bin/appname (não um symlink) e reiniciá-lo a partir do script bash, mas estou tentando não ter um diretório contendo arquivos de diferentes versões no mesmo tempo.

    
por user3587642 11.09.2018 / 00:01

0 respostas