pyinfra
v3.1.1
pyinfra は Python コードをシェル コマンドに変換し、サーバー上で実行します。アドホック コマンドを実行し、宣言的な操作を作成します。ターゲットの SSH サーバー、ローカル マシン、および Docker コンテナー。高速で、1 台のサーバーから数千台のサーバーまで拡張できます。 ansible
ですが、YAML ではなく Python を使用すると、はるかに高速になります。
ドキュメント•ヘルプとサポート•貢献
なぜピンフラなのか?設計上の特徴は次のとおりです。
-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
これは、 deploy.py
のような Python ファイルとして保存できます。
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 の使用方法を確認するか、文書化された例を確認してください。