如何在华为云软件开发云上运行Python
一. 華為云軟件開(kāi)發(fā)云與Python
1. [華為云](https://l.gushuji.site/huawei)軟件開(kāi)發(fā)云簡(jiǎn)介
華為云軟件開(kāi)發(fā)云(DevCloud)是集華為近30年研發(fā)實(shí)踐,前沿研發(fā)理念,先進(jìn)研發(fā)工具為一體的一站式云端DevOps平臺(tái),面向開(kāi)發(fā)者提供包括項(xiàng)目管理,代碼托管,流水線,代碼檢查,編譯構(gòu)建,測(cè)試管理,移動(dòng)應(yīng)用測(cè)試,部署,發(fā)布,CloudIDE,研發(fā)協(xié)同等基礎(chǔ)功能的研發(fā)工具服務(wù)。覆蓋軟件開(kāi)發(fā)全生命周期,支持多種主流研發(fā)場(chǎng)景,讓軟件開(kāi)發(fā)更高效。
官網(wǎng)入口:https://www.huaweicloud.com/devcloud/
2.Python特點(diǎn)
Python 是一個(gè)高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語(yǔ)言。Python 的設(shè)計(jì)具有很強(qiáng)的可讀性,相比其他語(yǔ)言經(jīng)常使用英文關(guān)鍵字,其他語(yǔ)言的一些標(biāo)點(diǎn)符號(hào),它具有比其他語(yǔ)言更有特色語(yǔ)法結(jié)構(gòu)。
·Python 是一種解釋型語(yǔ)言:這意味著開(kāi)發(fā)過(guò)程中沒(méi)有了編譯這個(gè)環(huán)節(jié)。類似于PHP和Perl語(yǔ)言。
·Python 是交互式語(yǔ)言:這意味著,您可以在一個(gè)Python提示符,直接互動(dòng)執(zhí)行寫(xiě)你的程序。
·Python 是面向?qū)ο笳Z(yǔ)言:這意味著Python支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對(duì)象的編程技術(shù)。
·Python 是初學(xué)者的語(yǔ)言:Python 對(duì)初級(jí)程序員而言,是一種偉大的語(yǔ)言,它支持廣泛的應(yīng)用程序開(kāi)發(fā),從簡(jiǎn)單的文字處理到 WWW 瀏覽器再到游戲。
3.Python在軟件開(kāi)發(fā)云的應(yīng)用
應(yīng)用華為云軟件開(kāi)發(fā)云的流水線功能可以幫助Python開(kāi)發(fā)者實(shí)現(xiàn)一鍵自動(dòng)化開(kāi)發(fā)部署,其中需要應(yīng)用到代碼倉(cāng)庫(kù),編譯構(gòu)建,發(fā)布,部署等功能。
因?yàn)镻ython沒(méi)有編譯構(gòu)建的過(guò)程,所以在實(shí)際開(kāi)發(fā)過(guò)程中他是可以不用編譯直接發(fā)布的,但是在華為云軟件開(kāi)發(fā)云中云端部署需要可識(shí)別的軟件包,所以在華為云軟件開(kāi)發(fā)云中需要對(duì)Python的程序進(jìn)行打包。打包的好處是不僅可以打通編譯到部署的自動(dòng)化流程,避免二次手動(dòng)傳包影響開(kāi)發(fā)效率,還可以在編譯構(gòu)建后自動(dòng)歸檔到發(fā)布倉(cāng)庫(kù)中,對(duì)軟件包進(jìn)行歸檔管理,幫助企業(yè)完善產(chǎn)品構(gòu)建的發(fā)布管理。下面,就讓我們看看如何在華為云軟件開(kāi)發(fā)云中跑通一個(gè)Python項(xiàng)目。
二.Python流程搭建示例
1.代碼倉(cāng)庫(kù)
華為云軟件開(kāi)發(fā)云提供基于Git的代碼托管倉(cāng)庫(kù),倉(cāng)庫(kù)提供可視化的管理界面,支持文件在線編輯,倉(cāng)庫(kù)提交記錄,代碼貢獻(xiàn)度統(tǒng)計(jì)等多種功能,滿足各類開(kāi)發(fā)者的需求。Python開(kāi)發(fā)者可將自己的Python代碼上傳到此倉(cāng)庫(kù)中進(jìn)行代碼托管。
本demo中采用華為云軟件開(kāi)發(fā)云的代碼倉(cāng)庫(kù),建立空倉(cāng)后,通過(guò)Git命令,與本地倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián),完成代碼同步
2.編譯構(gòu)建
因?yàn)镻ython沒(méi)有編譯構(gòu)建的過(guò)程,所以在實(shí)際開(kāi)發(fā)過(guò)程中Python工程是可以不用編譯直接發(fā)布的,但是在軟開(kāi)云中云端部署需要可識(shí)別的軟件包,所以在軟開(kāi)云中需要對(duì)Python的程序進(jìn)行打包。
華為云軟件開(kāi)發(fā)云編譯構(gòu)建服務(wù)支持多種開(kāi)發(fā)環(huán)境的構(gòu)建,也支持Python類型構(gòu)建egg格式軟件包,本demo中為了打通部署,形成自動(dòng)化研發(fā)流程,采用Other構(gòu)建類型,通過(guò)shell腳本將demo程序打成.tar格式的軟件包。并在打包后自動(dòng)上傳到發(fā)布倉(cāng)庫(kù)進(jìn)行版本歸檔管理。
在構(gòu)建類型中輸入要執(zhí)行的shell腳本命令。本樣例中執(zhí)行命令為將demo輸出為.tar格式的軟件包。
在構(gòu)建執(zhí)行配置中設(shè)置構(gòu)建成功后將軟件包上傳歸檔到發(fā)布倉(cāng)庫(kù)的具體信息。
3.發(fā)布
華為云軟件開(kāi)發(fā)云提供4中類型的發(fā)布倉(cāng)庫(kù),前兩種是遠(yuǎn)程Maven私倉(cāng),用于Maven類型構(gòu)建過(guò)程中第三方依賴包的的管理。第三個(gè)倉(cāng)庫(kù)是mirror鏡像倉(cāng),鏡像了一些構(gòu)建過(guò)程中經(jīng)常以來(lái)的中央倉(cāng)到后臺(tái),提升構(gòu)建速度,體現(xiàn)云端構(gòu)建的優(yōu)勢(shì)。我們本次demo中應(yīng)用最后一個(gè)編譯構(gòu)建倉(cāng)庫(kù),作為生成的軟件包的版本歸檔管理倉(cāng)庫(kù)。
4.部署
當(dāng)代碼構(gòu)建打包成功并歸檔到發(fā)布倉(cāng)庫(kù)后,可以進(jìn)行部署工作。部署任務(wù)一共氛圍四部分,分別是主機(jī)授權(quán),編輯模版,編寫(xiě)腳本和執(zhí)行部署。
先將主機(jī)添加到授信機(jī)器列表中。
因?yàn)閜ython程序在發(fā)布的時(shí)候需要執(zhí)行setup.py文件,不同工程有其特殊性,故通過(guò)自定義模版和執(zhí)行shell腳本兩種方法相結(jié)合的方式完成自動(dòng)化部署。
本demo中部署模版和shell腳本任務(wù)分配樣例:
部署模版:執(zhí)行目錄創(chuàng)建,軟件包拷貝,解壓
Shell腳本:提取占用端口進(jìn)程號(hào),解除端口占用,定位目標(biāo)文件夾,執(zhí)行setup.py,運(yùn)行程序文件
完成任務(wù)后執(zhí)行部署任務(wù)即可。
5.流水線
當(dāng)所有流程打通之后,設(shè)置對(duì)應(yīng)的流水線,將所有流程添加進(jìn)去,實(shí)現(xiàn)自動(dòng)化的構(gòu)建發(fā)布部署一鍵執(zhí)行。
將需要的任務(wù)添加進(jìn)流水線中,并運(yùn)行流水線。
轉(zhuǎn)載于:https://my.oschina.net/u/3434281/blog/1594414
總結(jié)
以上是生活随笔為你收集整理的如何在华为云软件开发云上运行Python的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 心理测评系统软件使用问题二
- 下一篇: not found error :\te