pyinfra transforme le code Python en commandes shell et les exécute sur vos serveurs. Exécutez des commandes ad hoc et écrivez des opérations déclaratives. Ciblez les serveurs SSH, la machine locale et les conteneurs Docker. Rapide et évolutif d'un serveur à des milliers. Pensez ansible
mais Python au lieu de YAML, et beaucoup plus rapide.
Documentation • Aide et support • Contribuer
Pourquoi pyinfra ? Les caractéristiques de conception incluent :
-vvv
). Installez pyinfra avec pip
:
pip install pyinfra
Vous pouvez désormais exécuter des commandes sur des hôtes via SSH :
pyinfra my-server.net exec -- echo " hello world "
Ou ciblez les conteneurs Docker, la machine locale et d'autres connecteurs :
pyinfra @docker/ubuntu exec -- echo " Hello world "
pyinfra @local exec -- echo " Hello world "
En plus d'exécuter des commandes, vous pouvez définir l'état à l'aide d'opérations :
# Install iftop apt package if not present
pyinfra @docker/ubuntu apt.packages iftop update=true _sudo=true
Qui peut ensuite être enregistré sous forme de fichier Python comme deploy.py
:
from pyinfra . operations import apt
apt . packages (
name = "Ensure iftop is installed" ,
packages = [ 'iftop' ],
update = True ,
_sudo = True ,
)
Les hôtes peuvent également être enregistrés dans un fichier, par exemple inventory.py
:
targets = [ "@docker/ubuntu" , "my-test-server.net" ]
Et exécutés ensemble :
pyinfra inventory.py deploy.py
Vous connaissez maintenant les éléments constitutifs de pyinfra ! En combinant l'inventaire, les opérations et le code Python, vous pouvez tout déployer.
Consultez les guides de démarrage ou d’utilisation plus détaillés. Découvrez comment utiliser l'inventaire et les données, les arguments globaux et la CLI ou consultez les exemples documentés.