pyinfra mengubah kode Python menjadi perintah shell dan menjalankannya di server Anda. Jalankan perintah ad-hoc dan tulis operasi deklaratif. Targetkan server SSH, mesin lokal, dan kontainer Docker. Cepat dan berskala dari satu server hingga ribuan. Pikirkan ansible
tetapi Python, bukan YAML, dan jauh lebih cepat.
Dokumentasi • Bantuan & Dukungan • Berkontribusi
Mengapa pinfra? Fitur desain meliputi:
-vvv
). Instal pyinfra dengan pip
:
pip install pyinfra
Sekarang Anda dapat menjalankan perintah pada host melalui SSH:
pyinfra my-server.net exec -- echo " hello world "
Atau targetkan kontainer Docker, mesin lokal, dan konektor lainnya:
pyinfra @docker/ubuntu exec -- echo " Hello world "
pyinfra @local exec -- echo " Hello world "
Selain menjalankan perintah, Anda dapat menentukan status menggunakan operasi:
# Install iftop apt package if not present
pyinfra @docker/ubuntu apt.packages iftop update=true _sudo=true
Yang kemudian dapat disimpan sebagai file Python seperti deploy.py
:
from pyinfra . operations import apt
apt . packages (
name = "Ensure iftop is installed" ,
packages = [ 'iftop' ],
update = True ,
_sudo = True ,
)
Host juga dapat disimpan dalam file, misalnya inventory.py
:
targets = [ "@docker/ubuntu" , "my-test-server.net" ]
Dan dieksekusi bersama:
pyinfra inventory.py deploy.py
Sekarang Anda tahu bahan penyusun pyinfra! Dengan menggabungkan inventaris, operasi, dan kode Python, Anda dapat menerapkan apa pun.
Lihat panduan memulai atau menggunakan pengoperasian yang lebih detail. Lihat cara menggunakan inventaris & data, argumen global, dan CLI atau lihat contoh yang terdokumentasi.