fabric使用例項 發布web包的乙個例子

2022-04-29 01:36:07 字數 1854 閱讀 7086

1

#!/usr/bin/env python2#

-*- coding: utf-8 -* 3#

新增中文注釋的編碼 4#

fabfile.py

5from fabric.api import *

67 env.user = '

root

'8 env.hosts = ['

192.168.1.100']

9#遠端伺服器的密碼,這個建議不要填寫,寧願在執行的過程輸入,因為這是明文顯示的,不安全10#

也可以將機子的ssh打通,這樣就可以避免輸入密碼的麻煩11#

env.password = 'testtest'

1213

#從版本庫取出,並刪除.svn檔案

14def

download():

15 local('

rm -rf /tmp/newer')

16 local('

mkdir /tmp/newer')

17 local('

svn checkout svn://localhost/newer /tmp/newer')

18 local('

find /tmp/newer -name ".svn" | xargs rm -rf')

1920

#壓縮打包

21def

pack():

22 with lcd('

/tmp/'):

23 local('

tar czvf newer.tar.gz ./newer')

2425

#部署遠端伺服器目錄結構

26def

display():

27 run('

rm -rf /var/www/html/tmp')

28 run('

mkdir /var/www/html/tmp')

29#將本地的壓縮包傳送到遠端伺服器

30 put('

/tmp/newer.tar.gz

','/var/www/html/tmp')

3132 with cd('

/var/www/html/tmp'):

33 run('

tar xvf newer.tar.gz')

3435

#部分目錄進行特別處理

36 with cd('

/var/www/html/newer/public/'):

37 run('

cp -r ueditor ../../tmp')

3839 with cd('

/var/www/html/'):

40 run('

rm -rf newer')

41 run('

cp -r /var/www/html/tmp/newer ./')

4243 with cd('

/var/www/html/newer/public'):

44 run('

rm -rf ueditor')

45 run('

cp -r /var/www/html/tmp/ueditor ./')

4647

#執行部署

48def

go():

49download()

50pack()

51 display()

fab -f deploy.py go

Python之 Fabric開發例項

coding utf 8 檢視本地和遠端主機資訊 本例項呼叫local 方法執行本地 主控端 命令,新增 runs once 修飾符保證該任務函式只執行一次 created on 2018年1月11日 author liuyazhuang from fabric.api import env.use...

fabric使用介紹

title是開發,但是同時要幹開發測試還有運維的活 為毛 task 3 不是 salary 3 o o 近期接手越來越多的東西,發布和運維的工作相當機械,加上頻率還蠻高,導致時間浪費還是優點多。修復bug什麼的,測試,提交版本庫 2分鐘 ssh到測試環境pull部署 2分鐘 rsync到線上機器a,...

Fabric 使用多通道

cd hyfa fabric samples chaincode docker devmode sudo docker compose f docker compose yaml down cd first network務必替換 channel name或設定channel name為可在整個說明...