Qual é a abordagem preferencial para implantar o aplicativo Python usando o RPM? [fechadas]

5

Eu sou novo no lado dev-ops das coisas, e eu tenho trabalhado para obter um aplicativo Python empacotado em um RPM (usando python setup.py bdist_rpm) implantado em uma VM centos via Yum. Chef é usado para gerenciar a VM. O aplicativo Python será executado em um virtualenv, como parte de um processo de implantação contínua.

O RPM deve ser inteligente e autônomo, realizando operações como criar / iniciar o ambiente virtualenv, instalar as dependências necessárias e, finalmente, configurar um processo init (neste caso, iniciar um processo do servidor REST do uwsgi para o virtualenv)?

Ou a receita do Chef deve gerenciar a criação de dependências virtualenv e pip-install, com o próprio RPM fazendo uma simples instalação python setup.py para carregar meus módulos Python na pasta pythonX.Y / site-packages do virtualenv?

Uma chamada "yum install / reinstall" (digamos, por meio de um processo automatizado) funcionaria para uma das abordagens, mas a primeira exige um RPM mais complexo, que pode não ser "melhor prática", correto? O primeiro permite uma instalação autônoma que pode ser removida de forma mais limpa posteriormente e separa melhor as preocupações entre o desenvolvedor (Python) e os dev-ops (Chef). Por favor, informe sobre o que é 'tipicamente' feito.

    
por woodbon 15.03.2013 / 21:08

1 resposta

0

Este livro de receitas do Chef parece ser muito bom. Ele fornece suporte para o que você está procurando fazer. Para o que normalmente é feito, só posso abordá-lo do ponto de vista do Puppet, mas não vejo razão para adicionar esse tipo de complexidade ao RPM quando ele é facilmente suportado por um livro de receitas. Você está simplesmente criando mais trabalho para si mesmo mais tarde, quando precisar fazer alterações e dificultar o suporte de outros usuários.

    
por 16.03.2013 / 21:58