亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python下Fabric的簡單部署方法

2020-01-04 18:04:57
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了Python下Fabric的簡單部署方法,Fabric是Python下一個流行的自動化工具,需要的朋友可以參考下

Fabric是一個用Python開發的部署工具,最大特點是不用登錄遠程服務器,在本地運行遠程命令,幾行Python腳本就可以輕松部署。

文檔入口

簡單安裝

 

 
  1. sudo easy_install fabric 

部署腳本

 

 
  1. #!/usr/bin/env python 
  2. # -*- coding: utf-8 -*- 
  3.  
  4. from datetime import datetime 
  5. from fabric.api import * 
  6.  
  7. # 登錄用戶和主機名: 
  8. env.user = 'root' 
  9. env.hosts = ['www.example.com'] # 如果有多個主機,fabric會自動依次部署 
  10.  
  11. def pack(): 
  12. ' 定義一個pack任務 ' 
  13. # 打一個tar包: 
  14. tar_files = ['*.py''static/*''templates/*''favicon.ico'
  15. local('rm -f example.tar.gz'
  16. local('tar -czvf example.tar.gz --exclude=/'*.tar.gz/' --exclude=/'fabfile.py/' %s' % ' '.join(tar_files)) 
  17.  
  18. def deploy(): 
  19. ' 定義一個部署任務 ' 
  20. # 遠程服務器的臨時文件: 
  21. remote_tmp_tar = '/tmp/example.tar.gz' 
  22. tag = datetime.now().strftime('%y.%m.%d_%H.%M.%S'
  23. run('rm -f %s' % remote_tmp_tar) 
  24. # 上傳tar文件至遠程服務器: 
  25. put('shici.tar.gz', remote_tmp_tar) 
  26. # 解壓: 
  27. remote_dist_dir = '/srv/www.example.com@%s' % tag 
  28. remote_dist_link = '/srv/www.example.com' 
  29. run('mkdir %s' % remote_dist_dir) 
  30. with cd(remote_dist_dir): 
  31. run('tar -xzvf %s' % remote_tmp_tar) 
  32. # 設定新目錄的www-data權限: 
  33. run('chown -R www-data:www-data %s' % remote_dist_dir) 
  34. # 刪除舊的軟鏈接: 
  35. run('rm -f %s' % remote_dist_link) 
  36. # 創建新的軟鏈接指向新部署的目錄: 
  37. run('ln -s %s %s' % (remote_dist_dir, remote_dist_link)) 
  38. run('chown -R www-data:www-data %s' % remote_dist_link) 
  39. # 重啟fastcgi: 
  40. fcgi = '/etc/init.d/py-fastcgi' 
  41. with settings(warn_only=True): 
  42. run('%s stop' % fcgi) 
  43. run('%s start' % fcgi) 

以上定義了pack和deploy兩個任務,如果我們用Fabric部署,只需簡單地輸入兩條命令:

 

 
  1. $ fab pack 
  2. $ fab deploy 

Fabric提供幾個簡單的API來完成所有的部署,最常用的是local()和run(),分別在本地和遠程執行命令,put()可以把本地文件上傳到遠程,當需要在遠程指定當前目錄時,只需用with cd(‘/path/to/dir/'):即可。

默認情況下,當命令執行失敗時,Fabric會停止執行后續命令。有時,我們允許忽略失敗的命令繼續執行,比如run(‘rm /tmp/abc')在文件不存在的時候有可能失敗,這時可以用with settings(warn_only=True):執行命令,這樣Fabric只會打出警告信息而不會中斷執行。

Fabric是如何在遠程執行命令的呢?其實Fabric所有操作都是基于SSH執行的,必要時它會提示輸入口令,所以非常安全。更好的辦法是在指定的部署服務器上用證書配置無密碼的ssh連接。

如果是基于團隊開發,可以讓Fabric利用版本庫自動檢出代碼,自動執行測試、打包、部署的任務。由于Fabric運行的命令都是基本的Linux命令,所以根本不需要用Fabric本身來擴展,會敲Linux命令就能用Fabric部署。

利用Fabric部署Python、Ruby、PHP這樣的非編譯型網站應用非常方便,而對于編譯型的Java、C#等就麻煩了,編譯本身就是一個極其復雜的大工程,需要依賴特定工具或者IDE,很難做到自動化。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美体内谢she精2性欧美| 中文字幕9999| 久久久欧美一区二区| 国产美女高潮久久白浆| 亚洲成在人线av| 久久精品国产v日韩v亚洲| 色在人av网站天堂精品| 欧美一级视频一区二区| 国产91在线播放| 国产v综合ⅴ日韩v欧美大片| 午夜精品在线视频| 亚洲第一精品自拍| 日韩在线欧美在线国产在线| 国产精品欧美日韩| 亚洲精品狠狠操| 亚洲高清不卡av| 最新国产精品拍自在线播放| 深夜成人在线观看| 亚洲精品成人久久| 这里只有视频精品| 亚洲电影中文字幕| 国产精品日韩精品| 国产va免费精品高清在线观看| 亚洲系列中文字幕| 国产午夜精品全部视频在线播放| 日本国产精品视频| 久久综合免费视频影院| 78色国产精品| 久久6免费高清热精品| 亚洲国产精品系列| 久久精品亚洲94久久精品| 久久国产精品久久国产精品| 91在线观看欧美日韩| 高潮白浆女日韩av免费看| 亚洲美女视频网站| 98精品在线视频| 久久久久久久影院| 欧美国产亚洲精品久久久8v| 国产亚洲xxx| 亚洲欧美精品一区| 久久激情视频免费观看| 精品国产户外野外| 国产日韩在线播放| 欧美精品一区二区三区国产精品| 成人免费视频xnxx.com| 久久久久久有精品国产| 91久久久久久久| 亚洲成人中文字幕| 亚洲午夜av久久乱码| 日韩欧美精品中文字幕| 久久夜色精品国产亚洲aⅴ| 国产剧情久久久久久| 亚洲精品第一页| 尤物九九久久国产精品的分类| 欧美日韩在线一区| 国产视频久久网| 欧美人与性动交a欧美精品| 亚洲国产欧美在线成人app| 欧美午夜影院在线视频| 亚洲va久久久噜噜噜久久天堂| 久久久久久久久国产精品| 91在线观看免费高清| 国产精品久久久久久久久久久久久久| 成人a在线观看| 欧美性猛交xxxxx免费看| 亚洲成人a**站| 色久欧美在线视频观看| 国产精品高潮在线| 国产在线视频2019最新视频| 中文字幕精品影院| 亚洲日韩中文字幕在线播放| 91影院在线免费观看视频| 国产成人精品一区二区在线| 国产精品电影网| 欧美亚洲第一区| 国产精品第2页| 亚洲自拍小视频| 国产97色在线| 97久久国产精品| 成人久久18免费网站图片| 中文字幕亚洲国产| 久久久av网站| 日本久久久久亚洲中字幕| 欧美在线亚洲在线| 国产精品欧美亚洲777777| 国产精品久久久久av免费| 不用播放器成人网| 久久人人爽人人爽人人片av高清| 亚洲国产97在线精品一区| www高清在线视频日韩欧美| 亚洲aa在线观看| 久久精品影视伊人网| 91av视频导航| 欧美精品少妇videofree| 国产精品久久久久久久久久久新郎| 欧美成人精品在线视频| 久久国产精品影片| 亚洲欧美在线播放| 2019av中文字幕| 亚洲美女av电影| 在线观看视频99| 久久久精品2019中文字幕神马| 播播国产欧美激情| 欧美激情精品久久久久久变态| 1769国产精品| 欧美日韩在线观看视频小说| 色妞欧美日韩在线| 中文字幕亚洲无线码a| 国内揄拍国内精品| 亚洲人成电影网站色xx| 欧美裸身视频免费观看| 亚洲国产中文字幕久久网| 日韩av在线免费看| 精品福利视频导航| 日韩精品视频免费专区在线播放| 欧美成年人在线观看| 日韩精品视频免费| 欧美二区乱c黑人| 国产亚洲欧美日韩精品| 亚洲人成在线观看网站高清| 日韩av手机在线| 欧美国产日韩一区二区三区| 欧美色视频日本版| 亚洲美女精品久久| 久久视频在线播放| 亚洲精品国偷自产在线99热| 亚洲mm色国产网站| 中文字幕日韩精品有码视频| 97超级碰在线看视频免费在线看| 国产亚洲精品高潮| 成人日韩av在线| 日韩在线播放av| 精品久久久国产| 亚洲国产黄色片| 久久久精品国产一区二区| 欧美洲成人男女午夜视频| 久久久av电影| 色777狠狠综合秋免鲁丝| 北条麻妃一区二区三区中文字幕| 国产福利视频一区二区| 亚洲**2019国产| 国产欧美日韩精品专区| 亚洲欧洲国产精品| 日韩av电影在线免费播放| 欧美又大又硬又粗bbbbb| 国产精品久久久久久久久久久久| 久久91精品国产91久久跳| 日韩精品中文字幕视频在线| 欧美精品video| 在线电影av不卡网址| 国产一区二区三区网站| 国产精品欧美风情| 日韩电视剧免费观看网站| 亚洲天堂网在线观看| 91欧美精品成人综合在线观看| 精品国产区一区二区三区在线观看| 国产精品免费视频久久久| 奇门遁甲1982国语版免费观看高清| 国产情人节一区| 亚洲欧美日韩一区二区在线| 成人福利网站在线观看| 国产精品福利无圣光在线一区| 精品亚洲va在线va天堂资源站| 在线精品国产欧美|