[Python] Desplegar desarrollo en varias máquinas

Tengo un desarrollo realizado en Python que depende de varias librerias, este desarrollo lo utilizo en un servidor pero me gustaría poder desplegarlo en otros servidores sin tener que andar instalando las dependencias etc de manera manual. Todos los servidores no son idénticos, algunos son x32, otros x64 algunos Win y otros Linux. Vamos estoy buscando 'portabilidad'.

Me gustaría saber si existe la posibilidad de poder desplegarlo en todos los servidores se podría hacer sobre Docker o si por el contrario estoy matando moscas a cañonazos y posiblemente exista una manera más simple y elegante de hacerlo en Python.
Jenkins solo te da la capacidad de desplegar de manera desatendida. Lo más próximo que existe para eso se llama pyinstaller, que te genera un binario con dependencias, pero si no recuerdo mal no es portable entre Linux y Windows. Para compilar python en un .pyc te ocurrirá lo mismo. Así que si, docker puede ser una opción. Luego te quedaría el tema de automatizar todos los despliegues, ahí podría entrar Jenkins, chef, ansible, etc.
He estado leyendo un poco sobre el asunto y tal vez con requirements.txt podría solucionar parte del problema???

No sé si con Docker, Jenkins, Chef, Ansible ... estaría matando moscas a cañonazos. Al final se trata de un pequeño desarrollo para desplegar en menos de 10 servidores distintos ;)

Gracias
3 respuestas