pyinfra wandelt Python-Code in Shell-Befehle um und führt sie auf Ihren Servern aus. Führen Sie Ad-hoc-Befehle aus und schreiben Sie deklarative Operationen. Zielen Sie auf SSH-Server, lokale Maschinen und Docker-Container. Schnell und skalierbar von einem Server auf Tausende. Denken Sie ansible
, aber Python statt YAML und viel schneller.
Dokumentation • Hilfe und Support • Mitwirken
Warum Pyinfra? Zu den Designmerkmalen gehören:
-vvv
). Installieren Sie Pyinfra mit pip
:
pip install pyinfra
Jetzt können Sie über SSH Befehle auf Hosts ausführen:
pyinfra my-server.net exec -- echo " hello world "
Oder zielen Sie auf Docker-Container, den lokalen Computer und andere Konnektoren ab:
pyinfra @docker/ubuntu exec -- echo " Hello world "
pyinfra @local exec -- echo " Hello world "
Sie können nicht nur Befehle ausführen, sondern auch den Status mithilfe von Operationen definieren:
# Install iftop apt package if not present
pyinfra @docker/ubuntu apt.packages iftop update=true _sudo=true
Was dann als Python-Datei wie deploy.py
gespeichert werden kann:
from pyinfra . operations import apt
apt . packages (
name = "Ensure iftop is installed" ,
packages = [ 'iftop' ],
update = True ,
_sudo = True ,
)
Die Hosts können auch in einer Datei gespeichert werden, zum Beispiel inventory.py
:
targets = [ "@docker/ubuntu" , "my-test-server.net" ]
Und gemeinsam ausgeführt:
pyinfra inventory.py deploy.py
Jetzt kennen Sie die Bausteine von Pyinfra! Durch die Kombination von Inventar, Vorgängen und Python-Code können Sie alles bereitstellen.
Weitere Informationen finden Sie in den ausführlicheren Anleitungen zum Einstieg oder zur Verwendung. Erfahren Sie, wie Sie Inventar und Daten, globale Argumente und die CLI verwenden, oder sehen Sie sich die dokumentierten Beispiele an.