pyinfra convierte el código Python en comandos de shell y los ejecuta en sus servidores. Ejecute comandos ad-hoc y escriba operaciones declarativas. Apunte a servidores SSH, máquinas locales y contenedores Docker. Rápido y escalable de un servidor a miles. Piense ansible
pero Python en lugar de YAML, y mucho más rápido.
Documentación • Ayuda y soporte • Contribución
¿Por qué pyinfra? Las características de diseño incluyen:
-vvv
). Instale pyinfra con pip
:
pip install pyinfra
Ahora puedes ejecutar comandos en hosts a través de SSH:
pyinfra my-server.net exec -- echo " hello world "
O apunte a los contenedores Docker, la máquina local y otros conectores:
pyinfra @docker/ubuntu exec -- echo " Hello world "
pyinfra @local exec -- echo " Hello world "
Además de ejecutar comandos, puede definir el estado mediante operaciones:
# Install iftop apt package if not present
pyinfra @docker/ubuntu apt.packages iftop update=true _sudo=true
Que luego se puede guardar como un archivo Python como deploy.py
:
from pyinfra . operations import apt
apt . packages (
name = "Ensure iftop is installed" ,
packages = [ 'iftop' ],
update = True ,
_sudo = True ,
)
Los hosts también se pueden guardar en un archivo, por ejemplo inventory.py
:
targets = [ "@docker/ubuntu" , "my-test-server.net" ]
Y ejecutados juntos:
pyinfra inventory.py deploy.py
¡Ahora conoces los componentes básicos de pyinfra! Al combinar inventario, operaciones y código Python, puedes implementar cualquier cosa.
Consulte las guías más detalladas de introducción o uso de operaciones. Vea cómo utilizar inventario y datos, argumentos globales y la CLI o consulte los ejemplos documentados.