pyinfra
v3.1.1
pyinfra 將 Python 程式碼轉換為 shell 命令並在您的伺服器上執行它們。執行臨時命令並編寫聲明性操作。目標 SSH 伺服器、本機電腦和 Docker 容器。速度快,可從一台伺服器擴展到數千台伺服器。想想ansible
,但用Python代替YAML,而且速度更快。
文件•幫助和支持•貢獻
為什麼是賓弗拉?設計特點包括:
-vvv
)。使用pip
安裝 pyinfra :
pip install pyinfra
現在您可以透過 SSH 在主機上執行命令:
pyinfra my-server.net exec -- echo " hello world "
或定位 Docker 容器、本機和其他連接器:
pyinfra @docker/ubuntu exec -- echo " Hello world "
pyinfra @local exec -- echo " Hello world "
除了執行命令之外,您還可以使用操作定義狀態:
# Install iftop apt package if not present
pyinfra @docker/ubuntu apt.packages iftop update=true _sudo=true
然後可以將其儲存為Python文件,例如deploy.py
:
from pyinfra . operations import apt
apt . packages (
name = "Ensure iftop is installed" ,
packages = [ 'iftop' ],
update = True ,
_sudo = True ,
)
主機也可以保存在檔案中,例如inventory.py
:
targets = [ "@docker/ubuntu" , "my-test-server.net" ]
並一起執行:
pyinfra inventory.py deploy.py
現在您知道了 pyinfra 的構建塊!透過結合庫存、操作和 Python 程式碼,您可以部署任何內容。
請參閱更詳細的入門或使用操作指南。了解如何使用清單和資料、全域參數和 CLI 或查看記錄的範例。