Fabric業(yè)務(wù)部署示例

#  coding:utf-8

from fabric.api import *
import getpass


env.user = "用戶名"
env.hosts = ["服務(wù)器IP或域名1", "服務(wù)器IP或域名2"]
env.port = "22"


# 只需輸入一次密碼
@runs_once
def get_passwd():
    return getpass.getpass('請(qǐng)輸入服務(wù)器登錄密碼: ')


# 打包
@task
def pack():
    local("rm -f ../project.tar.gz")
    local("tar czvf ../project.tar.gz  --exclude=*.pyc ../project")


# 部署
@task
def deploy():
    env.password = get_passwd()
    with settings(warn_only=True):
        # 前面是源,后面是目標(biāo)
        put("/home/lee/Code/project/project.tar.gz", "/home/lee/project.tar.gz")
        run("sudo /usr/local/bin/supervisorctl stop all")
        run("/bin/rm -rf /home/lee/project")
        with cd("/home/lee"):
            run("/bin/tar zxvf project.tar.gz")
        run("/bin/rm -f /home/lee/project.tar.gz")
        run("sudo /usr/local/bin/supervisorctl start all")
        run("sudo /usr/local/bin/supervisorctl status")

# 先打包后部署
@task
def go():
    env.password = get_passwd()
    pack()
    deploy()
  • 只打包
fab pack
  • 只部署
fab deploy
  • 先打包后部署
fab go
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載本文需注明出處:微信公眾號(hào)EAWorld,違者必究。 本文目錄: 一、企業(yè)應(yīng)用的部署發(fā)展 二、普元容器云與De...
    72a1f772fe47閱讀 937評(píng)論 0 3
  • 前端集成解決方案要求: 模塊化開發(fā)。最好能像寫nodejs一樣寫js,很舒服。css最好也能來(lái)個(gè)模塊化管理! 性能...
    Www劉閱讀 3,231評(píng)論 1 20
  • Chris Richardson 微服務(wù)系列翻譯全7篇鏈接: 微服務(wù)介紹 構(gòu)建微服務(wù)之使用API網(wǎng)關(guān) 構(gòu)建微服務(wù)之...
    butterfly100閱讀 775評(píng)論 0 2
  • 做法: 翅中:8個(gè) 可樂(lè):一聽 蒜泥,姜片,香葉,桂皮,老抽,生抽料酒,生抽 1. 翅中劃刀,加料酒,生抽,腌制半...
    水底的黑色瓶蓋閱讀 427評(píng)論 3 3
  • git地址:github.com/Roy1993sun/TODO 百度云地址:pan.baidu.com/s/1h...
    阿偉剛來(lái)也閱讀 194評(píng)論 0 0

友情鏈接更多精彩內(nèi)容