亚洲国产欧美一区二区三区丁香婷,无线乱码一二三区免费看,无码人妻精品一区二区三区东京热 ,中文精品视频一区二区在线观看

Fabric介紹,運維系列的遠程部署神器

這幾年,由于一直負責公司所有產(chǎn)品、項目等的數(shù)據(jù)采集,所以涉及到的服務(wù)器有幾十臺吧。Bug,都需要重復的執(zhí)行:登錄服務(wù)器-->切換到指定目錄-->拉取代碼-->修改配置-->重啟服務(wù),等等諸如此類的工作。是一個遠程部署神器,它可以在本地執(zhí)行遠程服務(wù)器的命令。創(chuàng)建一個遠程連接2.,管理上百臺服務(wù)器都不成問題。如果是要在多臺服務(wù)器運行命令,簡單的辦法就是使用迭代,挨個服務(wù)器執(zhí)行命令:...

近年來,由于我一直負責公司所有產(chǎn)品和項目的數(shù)據(jù)收集,涉及的服務(wù)器有幾十臺。同時,由于不同項目的需求不同,定制開發(fā)的合集腳本有上百種。每次發(fā)布新功能,或者修改一個小bug,都需要反復執(zhí)行:登錄服務(wù)器-->切換到指定目錄-->拉取代碼-->修改配置-->重啟服務(wù)PS時尚花紋筆刷下載,以此類推。

其實這種操作很繁瑣,沒有技術(shù)含量mac電腦遠程連接運維軟件,容易出問題,所以就出來了。它是一個遠程部署神器,可以在本地執(zhí)行來自遠程服務(wù)器的命令。

怎么做?這很簡單,只需幾個步驟。

安裝

$ pip install fabric --upgrade

請注意,如果您安裝舊版本,則新版本與舊版本不兼容。目前一共有三個版本ImageCut(圖片剪裁工具),前一個,只支持,棄用,但是現(xiàn)在的一個,支持,也是官方極力推薦的還有一個版本,是網(wǎng)友從老版本克隆出來的非官方版本,但是是兼容的mac電腦遠程連接運維軟件,也支持and。

最新的不需要.py文件或者fab命令,現(xiàn)在網(wǎng)上幾乎所有的教程和資料都還是以寫為主。當你在看那些教程的時候,注意篩選。新版本提供的API非常簡單。

運行命令

我們來看一個例子,下面是一個部署腳本

.py1.創(chuàng)建遠程連接2.進入指定目錄3.在指定目錄下執(zhí)行重啟命令

from fabric import Connection
def main():
	# ip 我是隨便填的
	# 如果你的電腦配了ssh免密碼登錄,就不需要 connect_kwargs 來指定密碼了。
	c = Connection("root@232.231.231.22", connect_kwargs={"password": "youpassword"})
	with c.cd('/var/www/youproject'):
    c.run("git pull origin master")
    c.run("/usr/bin/supervisorctl -c ../supervisor/supervisord.conf restart youproject")
if __name__ == '__main__':
	main()

實施

python deploy.py

執(zhí)行完成后,最新的代碼已經(jīng)部署到官方環(huán)境,服務(wù)已經(jīng)重啟。是不是很方便?媽呀,不用再擔心我在官方環(huán)境打錯命令刪除數(shù)據(jù)庫跑路了。

海康威視遠程電腦連接_mac電腦遠程連接運維軟件_電腦遠程攝像頭軟件

不僅支持Linux,而且在平臺上運行良好。在中小型項目中頹廢風格斜線筆刷下載,是非常好的運維工具。有了它,管理數(shù)百臺服務(wù)器都不是問題。

建立連接

class Connection(Context):
	host = None
	user = None
	port = None
	ssh_config = None
	connect_timeout = None
	connect_kwargs = None
	...

構(gòu)造對象的方式有很多種,例如可以將host寫成“root@192.168.101.1:22”,或者分別寫成3個參數(shù)。相反,它是一個字典對象,通常填充服務(wù)器的登錄密碼或密鑰。

??低曔h程電腦連接_mac電腦遠程連接運維軟件_電腦遠程攝像頭軟件

上傳文件

run方法用于執(zhí)行命令,cd進入指定目錄,put方法用于上傳文件,例如:

from fabric import Connection
c = Connection('web1')
c.put('myfiles.tgz', '/opt/mydata')
c.run('tar -C /opt/mydata -xzvf /opt/mydata/myfiles.tgz')

多臺服務(wù)器

如果要在多臺服務(wù)器上運行命令,簡單的方法是使用迭代,并在一臺服務(wù)器上執(zhí)行命令:

web1,web2,mac1都是服務(wù)器名,也可以用ip代替

或使用

from fabric import SerialGroup as Group
pool = Group('web1', 'web2', 'web3', connect_kwargs={"password": "youpassword"} )
pool.put('myfiles.tgz', '/opt/mydata')
pool.run('tar -C /opt/mydata -xzvf /opt/mydata/myfiles.tgz')

Group(*hosts, **) 參數(shù)說明:

?*hosts: 可以傳入多個主機名或IP
?**kwargs 接收的參數(shù)可以和Connection一樣,可以指定密碼

發(fā)表評論