一. 華爲雲軟件開發雲與Pythonpython
1. 華爲雲軟件開發雲簡介程序員
華爲雲軟件開發雲(DevCloud)是集華爲近30年研發實踐,前沿研發理念,先進研發工具爲一體的一站式雲端DevOps平臺,面向開發者提供包括項目管理,代碼託管,流水線,代碼檢查,編譯構建,測試管理,移動應用測試,部署,發佈,CloudIDE,研發協同等基礎功能的研發工具服務。覆蓋軟件開發全生命週期,支持多種主流研發場景,讓軟件開發更高效。shell
官網入口:https://www.huaweicloud.com/devcloud/編程
2.Python特色瀏覽器
Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麪向對象的腳本語言。Python 的設計具備很強的可讀性,相比其餘語言常常使用英文關鍵字,其餘語言的一些標點符號,它具備比其餘語言更有特點語法結構。工具
·Python 是一種解釋型語言:這意味着開發過程當中沒有了編譯這個環節。相似於PHP和Perl語言。測試
·Python 是交互式語言:這意味着,您能夠在一個Python提示符,直接互動執行寫你的程序。spa
·Python 是面嚮對象語言:這意味着Python支持面向對象的風格或代碼封裝在對象的編程技術。設計
·Python 是初學者的語言:Python 對初級程序員而言,是一種偉大的語言,它支持普遍的應用程序開發,從簡單的文字處理到 WWW 瀏覽器再到遊戲。對象
3.Python在軟件開發雲的應用
應用華爲雲軟件開發雲的流水線功能能夠幫助Python開發者實現一鍵自動化開發部署,其中須要應用到代碼倉庫,編譯構建,發佈,部署等功能。
由於Python沒有編譯構建的過程,因此在實際開發過程當中他是能夠不用編譯直接發佈的,可是在華爲雲軟件開發雲中雲端部署須要可識別的軟件包,因此在華爲雲軟件開發雲中須要對Python的程序進行打包。打包的好處是不只能夠打通編譯到部署的自動化流程,避免二次手動傳包影響開發效率,還能夠在編譯構建後自動歸檔到發佈倉庫中,對軟件包進行歸檔管理,幫助企業完善產品構建的發佈管理。下面,就讓咱們看看如何在華爲雲軟件開發雲中跑通一個Python項目。
二.Python流程搭建示例
1.代碼倉庫
華爲雲軟件開發雲提供基於Git的代碼託管倉庫,倉庫提供可視化的管理界面,支持文件在線編輯,倉庫提交記錄,代碼貢獻度統計等多種功能,知足各種開發者的需求。Python開發者可將本身的Python代碼上傳到此倉庫中進行代碼託管。
本demo中採用華爲雲軟件開發雲的代碼倉庫,創建空倉後,經過Git命令,與本地倉庫進行關聯,完成代碼同步
2.編譯構建
由於Python沒有編譯構建的過程,因此在實際開發過程當中Python工程是能夠不用編譯直接發佈的,可是在軟開雲中雲端部署須要可識別的軟件包,因此在軟開雲中須要對Python的程序進行打包。
華爲雲軟件開發雲編譯構建服務支持多種開發環境的構建,也支持Python類型構建egg格式軟件包,本demo中爲了打通部署,造成自動化研發流程,採用Other構建類型,經過shell腳本將demo程序打成.tar格式的軟件包。並在打包後自動上傳到發佈倉庫進行版本歸檔管理。
在構建類型中輸入要執行的shell腳本命令。本樣例中執行命令爲將demo輸出爲.tar格式的軟件包。
在構建執行配置中設置構建成功後將軟件包上傳歸檔到發佈倉庫的具體信息。
3.發佈
華爲雲軟件開發雲提供4中類型的發佈倉庫,前兩種是遠程Maven私倉,用於Maven類型構建過程當中第三方依賴包的的管理。第三個倉庫是mirror鏡像倉,鏡像了一些構建過程當中常常以來的中央倉到後臺,提高構建速度,體現雲端構建的優點。咱們本次demo中應用最後一個編譯構建倉庫,做爲生成的軟件包的版本歸檔管理倉庫。
4.部署
當代碼構建打包成功並歸檔到發佈倉庫後,能夠進行部署工做。部署任務一共氛圍四部分,分別是主機受權,編輯模版,編寫腳本和執行部署。
先將主機添加到授信機器列表中。
由於python程序在發佈的時候須要執行setup.py文件,不一樣工程有其特殊性,故經過自定義模版和執行shell腳本兩種方法相結合的方式完成自動化部署。
本demo中部署模版和shell腳本任務分配樣例:
部署模版:執行目錄建立,軟件包拷貝,解壓
Shell腳本:提取佔用端口進程號,解除端口占用,定位目標文件夾,執行setup.py,運行程序文件
完成任務後執行部署任務便可。
5.流水線
當全部流程打通以後,設置對應的流水線,將全部流程添加進去,實現自動化的構建發佈部署一鍵執行。
將須要的任務添加進流水線中,並運行流水線。