Fabric一個很有意思的自動化發(fā)布工具

Fabric是一個Python(2.5~2.7)類庫和命令行工具狱从。官網(wǎng)的對該程序的定位是:Pythonic remote execution

Fabric提供了一套解決方案:執(zhí)行本地或遠程命令(包括通過sudo方式)捡多、上傳/下載文件牡昆,還有一些輔助功能:提示用戶輸入、終止程序聊记。

安裝

pip install fabric

用法

一個栗子矩距,在項目中新建fabfile.py文件,內(nèi)容如下:

# coding=utf-8
from fabric.api import *
from fabric.colors import *

# 遠程服務(wù)器登陸使用的用戶名
env.user = 'root'
# 需要進行操作的服務(wù)器地址
# env.hosts = ['server1.example.com', 'server2.example.com']
env.hosts = ['你的服務(wù)器IP']


def pack():
    # 以 tar 歸檔的方式創(chuàng)建一個新的代碼分發(fā)
    local('python setup.py sdist --formats=gztar', capture=False)


def deploy():
    # 之處發(fā)布產(chǎn)品的名稱和版本
    # dist = local('python setup.py --fullname', capture=True).strip()
    dist = local('python setup.py --fullname', capture=True).strip()
    print green("package name is :%s" % dist)
    # 刪除之前殘留數(shù)據(jù)
    run('rm -rf /tmp/Hole /tmp/Hole.tar.gz')
    # 將代碼歸檔上傳到服務(wù)器當中的臨時文件夾內(nèi)
    put('dist/%s.tar.gz' % dist, '/tmp/Hole.tar.gz')
    # 創(chuàng)建一個文件夾狮含,進入這個文件夾,然后將我們的歸檔解壓到那里
    run('mkdir /tmp/Hole')
    with cd('/tmp/Hole'):
        run('tar xzf /tmp/Hole.tar.gz')
        with cd('Hole-1.0'):
            # 使用我們虛擬環(huán)境下的 Python 解釋器安裝我們的包
            run('/var/www/Hole/venv/bin/python setup.py install')
    # 現(xiàn)在我們的代碼已經(jīng)部署成功了曼振,可以刪除這個文件夾了
    run('rm -rf /tmp/Hole /tmp/Hole.tar.gz')
    # 通過supervisor管理進程
    run('supervisorctl restart hole_project')

以上,通過本地打包Python程序蔚龙,上傳到指定的服務(wù)器冰评,然后解壓安裝后,通過Supervisor重啟Gunicorn服務(wù)木羹。

在終端執(zhí)行fab pack deploy會執(zhí)行以上程序甲雅,打包并部署。

更多詳細內(nèi)容坑填,請移步官網(wǎng):http://www.fabfile.org/#
官方文檔:http://docs.fabfile.org/en/1.13/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抛人,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子脐瑰,更是在濱河造成了極大的恐慌妖枚,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苍在,死亡現(xiàn)場離奇詭異绝页,居然都是意外死亡,警方通過查閱死者的電腦和手機寂恬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門续誉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人初肉,你說我怎么就攤上這事酷鸦。” “怎么了牙咏?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵臼隔,是天一觀的道長。 經(jīng)常有香客問我眠寿,道長躬翁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任盯拱,我火速辦了婚禮盒发,結(jié)果婚禮上例嘱,老公的妹妹穿的比我還像新娘。我一直安慰自己宁舰,他們只是感情好拼卵,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛮艰,像睡著了一般腋腮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壤蚜,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天即寡,我揣著相機與錄音,去河邊找鬼袜刷。 笑死聪富,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的著蟹。 我是一名探鬼主播墩蔓,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼萧豆!你這毒婦竟也來了奸披?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤涮雷,失蹤者是張志新(化名)和其女友劉穎阵面,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體份殿,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡膜钓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了卿嘲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颂斜。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拾枣,靈堂內(nèi)的尸體忽然破棺而出沃疮,到底是詐尸還是另有隱情,我是刑警寧澤梅肤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布司蔬,位于F島的核電站,受9級特大地震影響姨蝴,放射性物質(zhì)發(fā)生泄漏俊啼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一左医、第九天 我趴在偏房一處隱蔽的房頂上張望授帕。 院中可真熱鬧同木,春花似錦、人聲如沸跛十。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芥映。三九已至洲尊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奈偏,已是汗流浹背坞嘀。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惊来,地道東北人姆吭。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像唁盏,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子检眯,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,481評論 6 427
  • GitHub 上有一個 Awesome - XXX 系列的資源整理,資源非常豐富厘擂,涉及面非常廣。awesome-p...
    若與閱讀 18,646評論 4 418
  • 環(huán)境管理管理Python版本和環(huán)境的工具锰瘸。p–非常簡單的交互式python版本管理工具刽严。pyenv–簡單的Pyth...
    MrHamster閱讀 3,792評論 1 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評論 25 707
  • 2015年6月3號 我失戀了,談了三年多的我們還是分手了避凝。 很多事情都不是預(yù)期般那么美好舞萄,就像,我從沒想...
    夏可可閱讀 414評論 1 0