pyinfra
v3.1.1
pyinfra는 Python 코드를 셸 명령으로 변환하고 이를 서버에서 실행합니다. 임시 명령을 실행하고 선언적 작업을 작성합니다. 대상 SSH 서버, 로컬 시스템 및 Docker 컨테이너. 서버 한 대에서 수천 대까지 빠르게 확장됩니다. 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를 사용하는 방법을 확인하거나 문서화된 예제를 확인하세요.