본문 바로가기

리눅스

우분투에서 fabric 2를 설치하고 사용하는 방법

728x90

우분투에서 fabric 2를 설치하고 사용하는 방법

Fabric은 파이썬으로 작성된 서버 관리 및 배포 도구로 특히 SSH를 통한 명령 실행과 파일 전송을 지원합니다. Fabric 2.x 버전은 Fabric 1.x와는 구조가 다르며 여러 기능이 업데이트되었습니다.

Fabric 2 Project

  • https://pypi.org/project/fabric2/

fabric2_1

테스트 환경

  • 운영체제 버전 확인
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.6 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.6 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
$ getconf LONG_BIT
64
  • python 및 pip 설치
$ python --version
Python 3.7.13
$ pip --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.7)

Fabric 2.x 설치

pip를 사용하여 Fabric 2.x를 설치

pip install fabric2

pip install 시 에러

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-bua4x4he/cryptography/
$ pip install --upgrade --ignore-installed pip setuptools cryptography

fabric2 version

fab2 --version
$ fab2 --version
Fabric 2.7.0
Paramiko 2.10.3
Invoke 1.7.0
728x90

Fabric Homepage

fabric2_2

Fabric 파일 작성

Fabric은 파이썬 스크립트로 작성되며, 배포 작업을 정의하는 역할을 하는 파일을 만들어야 합니다. 일반적으로 fabfile.py와 같은 이름으로 저장됩니다.

예를 들어

vim fabfile.py
from fabric import task

@task
def deploy(c):
    c.run('echo "Deploying..."')
    # Add your deployment tasks here

Fabric 실행

작성한 Fabric 파일을 실행합니다.

예를 들어 위에서 만든 fabfile.py를 사용하여 배포를 실행하려면 다음 명령을 사용합니다.

fab deploy

여기서 deploy는 Fabric 파일에서 정의한 작업 이름입니다. 필요에 따라 작업을 추가하고 수정하여 사용자 정의 배포 스크립트를 만들 수 있습니다. Fabric은 다양한 기능을 제공하며 문서에서 자세한 정보를 찾을 수 있습니다.

 

Fabric 공식 문서를 참조하여 더 많은 내용을 학습하고 여러 서버에 자동 배포 작업을 설정할 수 있습니다.

 

728x90