




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件部署軟件工程毛新軍國防科技大學(xué)計算機學(xué)院xjmao@內(nèi)容軟件及其環(huán)境軟件運行環(huán)境及其變化何為軟件部署軟件部署的概念和原則軟件部署的方式和方法單機和分布式部署、多種軟件部署方法軟件部署的CASE工具Fatjar、InstallerProjects、Jenkins等1.1軟件運行環(huán)境軟件運行所依賴的上下文,它為軟件系統(tǒng)的運行提供必要的基礎(chǔ)服務(wù)和功能、必須的數(shù)據(jù)和基本的計算能力
軟件系統(tǒng)環(huán)境OS第三方軟件中間件或開發(fā)框架軟件與其運行環(huán)境環(huán)境是軟件賴以生存的場所環(huán)境為軟件運行提供各種要素,包括數(shù)據(jù)、計算、服務(wù)等等軟件需要與環(huán)境進行持續(xù)的交互軟件通過環(huán)境獲得基礎(chǔ)服務(wù)和計算能力,環(huán)境通過軟件獲得相應(yīng)的運行進程和數(shù)據(jù)等軟件系統(tǒng)的運行環(huán)境可以表現(xiàn)為多種形式既可以是物理和硬件設(shè)備(如計算機、服務(wù)器、機器人等),也可以是不同抽象層次的軟件系統(tǒng)軟件系統(tǒng)的運行環(huán)境不僅包括縱向?qū)哟蔚幕A(chǔ)軟件及平臺,還包括橫向?qū)哟紊吓c其運行相關(guān)的其他軟件系統(tǒng)1.2軟件間的關(guān)系縱向的層次性依賴于支撐其運行的基礎(chǔ)軟件系統(tǒng)橫向的相關(guān)性需要與其他的軟件系統(tǒng)進行交互軟件部署需要考慮到依賴的其他軟件系統(tǒng)相關(guān)的其他軟件系統(tǒng)虛擬機軟件OS軟件中間件軟件應(yīng)用軟件其他系統(tǒng)交互接口協(xié)同集成互操作重用訪問...1.3軟件運行環(huán)境的變化6大中小型機的計算平臺基于局域網(wǎng)的分布計算平臺基于互聯(lián)網(wǎng)的計算平臺基于PC的計算平臺無處不在的計算從前端的PC終端、可穿戴設(shè)備、智能手機到后端的云中心、高性能計算中心從孤立、獨立、局域和可控的計算環(huán)境到分布、開放、動態(tài)、難控、無處不在計算環(huán)境內(nèi)容軟件及其環(huán)境軟件運行環(huán)境及其變化何為軟件部署軟件部署的概念和原則軟件部署的方式和方法單機和分布式部署、多種軟件部署方法軟件部署的CASE工具Fatjar、InstallerProjects、Jenkins等2.1何為軟件部署軟件部署是指將目標(biāo)軟件系統(tǒng)(包括軟構(gòu)件、配置文件、用戶手冊、幫助文檔等)進行收集、打包、安裝、配置和發(fā)布到運行環(huán)境的過程涉及二方面的工作安裝和配置運行環(huán)境安裝和配置軟件系統(tǒng)1.安裝和配置運行環(huán)境運行環(huán)境是目標(biāo)軟件系統(tǒng)運行賴以生存的上下文在將軟件系統(tǒng)部署到運行環(huán)境之前,軟件開發(fā)工程師首先需要安裝和配置好運行環(huán)境,包括構(gòu)成運行環(huán)境的各類軟硬件系統(tǒng)以及它們之間的相關(guān)性軟構(gòu)件運行環(huán)境示例:安裝和配置運行環(huán)境Mini-12306的運行環(huán)境2.安裝和配置軟件系統(tǒng)收集和打包目標(biāo)軟件系統(tǒng)中需要安裝的軟件要素,然后將這些軟件要素安裝到目標(biāo)計算平臺中,并進行必要配置包括軟構(gòu)件、所依賴軟件包、軟件文檔和必要的數(shù)據(jù)軟件系統(tǒng)示例:安裝和配置軟件系統(tǒng)Mini-12306的運行環(huán)境2.2軟件部署的原則最小化原則只需安裝、部署和配置支撐軟件運行和服務(wù)提供的最少軟硬件要素,以提高軟件系統(tǒng)和運行環(huán)境的精簡性,提升目標(biāo)軟件系統(tǒng)的運行效率,減低運行和維護成本相關(guān)性原則部署的運行環(huán)境和軟件系統(tǒng)要素均與系統(tǒng)建設(shè)相關(guān)聯(lián),剔除不想關(guān)的軟硬件要素,防止將無關(guān)的軟件要素部署到計算平臺之中,以簡化軟件系統(tǒng)的部署和配置,降低軟件運行和維護的復(fù)雜度適應(yīng)性原則當(dāng)軟件系統(tǒng)的運行環(huán)境發(fā)生變化時,目標(biāo)軟件系統(tǒng)的部署也要隨之發(fā)生變化,以確保目標(biāo)軟件系統(tǒng)部署的靈活性,提高目標(biāo)軟件系統(tǒng)的健壯性,提升軟件部署和運維的自動化程度內(nèi)容軟件及其環(huán)境軟件運行環(huán)境及其變化何為軟件部署軟件部署的概念和原則軟件部署的方式和方法單機和分布式部署、多種軟件部署方法軟件部署的CASE工具Fatjar、InstallerProjects、Jenkins等3.1單機部署方式將軟件的各個要素(如可運行軟構(gòu)件、數(shù)據(jù)、文檔等)集中部署到某個單一的計算設(shè)備上軟件的運行環(huán)境只依賴于單一的計算設(shè)施不同軟構(gòu)件之間不存在網(wǎng)絡(luò)通訊計算設(shè)施不僅僅是指各種計算機,如個人計算機、筆記本電腦或服務(wù)器等,還包括智能手機、智能手環(huán)等嵌入式計算設(shè)施典型示例小米便簽、鬧鐘和時鐘、光盤刻錄軟件、掃雷游戲軟件3.2分布式部署將軟件的各個要素(如可運行的軟構(gòu)件、數(shù)據(jù)和文檔等)分散部署在多個計算設(shè)備上的部署方式基于C/S的部署方式基于客戶端-應(yīng)用服務(wù)器-數(shù)據(jù)庫服務(wù)器的部署方式基于互聯(lián)網(wǎng)的軟件部署方式典型示例空巢老人看護、Google搜索引擎、淘寶和中國鐵路“12306”3.3軟件部署方法軟件部署的目標(biāo)平臺(如計算機、服務(wù)器、移動智能終端等)操作系統(tǒng)層(如Windows、Linux、MacOS等計算機操作系統(tǒng),及Android、IOS、鴻蒙等移動智能終端操作系統(tǒng))
軟件中間件軟件開發(fā)框架軟件容器基于中間件、開發(fā)框架和容器部署的軟件基于操作系統(tǒng)部署的軟件1.基于操作系統(tǒng)的部署軟件系統(tǒng)直接部署在目標(biāo)計算設(shè)施的操作系統(tǒng)之上運行軟件的運行僅依賴于計算設(shè)施上的操作系統(tǒng)及其提供的基礎(chǔ)服務(wù)(如文件操作和管理、窗口界面的創(chuàng)建和操作等)操作系統(tǒng)構(gòu)成了軟件運行的上下文環(huán)境典型示例移動端APP軟件部署在移動端的操作系統(tǒng)之上,如智能手機、平板電腦等中的Android、IOS等桌面端軟件主要部署在計算機上,常見的操作系統(tǒng)有Windows、Linux、MacOS等2.基于軟件開發(fā)框架的部署軟件開發(fā)框架軟構(gòu)件目標(biāo)硬件平臺操作系統(tǒng)層可重用開發(fā)包待部署的目標(biāo)軟件系統(tǒng)
調(diào)用調(diào)用3.基于軟件中間件的部署待部署的目標(biāo)軟件系統(tǒng)軟件中間件操作系統(tǒng)層目標(biāo)硬件平臺基礎(chǔ)服務(wù)1基礎(chǔ)服務(wù)n軟構(gòu)件訪問4.基于容器和鏡像的部署容器是一個視圖隔離、資源可限制、具有獨立文件系統(tǒng)的進程集合容器作為軟件運行的上下文容器具有獨立文件系統(tǒng),包括二進制文件、配置文件以及依賴容器運行時所需要的所有文件集合稱之為容器鏡像,又叫做rootfs對于容器鏡像而言,它打包的不僅僅是應(yīng)用代碼,而且還包括應(yīng)用運行所需要的所有依賴文件容器鏡像就是容器的文件系統(tǒng),有了容器鏡像,就可以構(gòu)建該鏡像的多個容器實例容器部署流程選定基礎(chǔ)鏡像編寫Dockfile腳本根據(jù)Dockfile腳本創(chuàng)建軟件鏡像基于軟件鏡像創(chuàng)建并運行Docker容器3.4基于部署圖來搭建環(huán)境和部署軟件設(shè)計階段的部署圖計算節(jié)點,通信方式,節(jié)點的運行環(huán)境,所要部署的軟構(gòu)件基礎(chǔ)軟件如OS軟構(gòu)件內(nèi)容軟件及其環(huán)境軟件運行環(huán)境及其變化何為軟件部署軟件部署的概念和原則軟件部署的方式和方法單機和分布式部署、多種軟件部署方法軟件部署的CASE工具Fatjar、InstallerProjects、Jenkins等4.1Fatjar部署工具支持Java程序代碼的打包、安裝和部署將Java程序的所有資源(包括源代碼、調(diào)用的第三方庫、圖片、項目配置文件等)進行打包,生成可直接安裝部署的jar文件能脫離Eclipse環(huán)境靈活部署到目標(biāo)計算平臺上是一個開源軟件,托管在SourceForge開源社區(qū)中Eclipse集成開發(fā)環(huán)境的一個組件Fatjar軟件工具生成部署文件的過程
可運行Java文件依賴的第三方庫命名部署文件選擇主類文件導(dǎo)入程序文件生成jar文件4.2InstallerProjects部署工具用于創(chuàng)建MicrosoftWindows應(yīng)用安裝程序和安裝包設(shè)置軟件圖標(biāo)和快捷方式、設(shè)置軟件安裝路徑、增加或刪除安裝包中的文件等,采用圖形化的方式對軟件進行打包作為MicrosoftVisualStudio的一個擴展組件基本步驟將應(yīng)用程序文件和圖標(biāo)導(dǎo)入到MicrosoftVisualStudio項目;在“解決方案”中使用“SetupProject”模板添加項目設(shè)置程序作者信息、描述信息、版本號和默認安裝路徑等參數(shù)將圖標(biāo)、程序依賴的動態(tài)鏈接庫DLL文件、可執(zhí)行程序及其快捷方式添加到“ApplicationFolder”應(yīng)用文件夾設(shè)置應(yīng)用圖標(biāo)和快捷方式執(zhí)行打包操作,分別生成以.msi和.exe為后綴名的安裝包4.3Jenkins部署工具針對Java應(yīng)用、實現(xiàn)持續(xù)集成和部署的軟件工具它允許其它的工具以插件的方式加入到Jenkins軟件之中,為自動化的構(gòu)建和部署提供多樣化的服務(wù)拉取Git倉庫中的變更代碼對項目進行編譯打包將包上傳到目標(biāo)服務(wù)器執(zhí)行啟動腳本運行軟件拓展閱讀發(fā)布!設(shè)計與部署穩(wěn)定的分布式系統(tǒng)(第2版),邁克爾·尼加德著,吾真本譯,人民郵電出版社,2020.作者根據(jù)自己工作經(jīng)歷和某些大型企業(yè)的案例,講述了如何創(chuàng)建高穩(wěn)定性的軟件系統(tǒng),分析設(shè)計和實現(xiàn)中導(dǎo)致系統(tǒng)出現(xiàn)問題的原因。全書分為個部分,每部分由一個研究案例引出。一部分介紹了如何保證系統(tǒng)的生存,即維護系統(tǒng)正常運行。二部分介紹了為生產(chǎn)環(huán)境而設(shè)計,從基礎(chǔ)層、實例層、互連層和控制層等方面構(gòu)建系統(tǒng)安全性。三部分講述了交付系統(tǒng),列出系統(tǒng)在部署過程中有可能出現(xiàn)的問題。部分引入適用性和混沌工程的概念,討論了如何解決系統(tǒng)性問題。課后作業(yè)和課程實訓(xùn)訪問/paths/1944完成第十五章“軟件部署”的實訓(xùn)闖關(guān)任務(wù)本章知識圖譜小結(jié)軟件需要部署和運行在特定的環(huán)境中環(huán)境包括硬件、基礎(chǔ)軟件、中間件和其它軟件系統(tǒng)等軟件部署是指將目標(biāo)軟件系統(tǒng)進行收集、打包、安裝、配置和發(fā)布到運行環(huán)境的過程單機部署和分布式部署軟件部署的方法多樣化,取決于軟件的運行環(huán)境基于操作、基于中間件、基于開發(fā)框架、基于容器支持軟件部署的CASE工具針對不同的編程語言和環(huán)境,提供不同的支持綜合實踐一任務(wù):對維護后的開源軟件進行安裝和部署方法根據(jù)開源軟件的安裝和部署要求,準(zhǔn)備好開源軟件的運行環(huán)境,隨后將維護后的開源軟件部署到目標(biāo)運行環(huán)境之中要求將維護后的開源
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)殖場出租承包合同
- 高科技金融投資協(xié)議
- 2025合作伙伴招標(biāo)合同文件
- 2025合同的變更條件和程序
- 班主任學(xué)生學(xué)業(yè)輔導(dǎo)與成長跟蹤服務(wù)協(xié)議
- 民族地區(qū)廠房出租與安全生產(chǎn)民族團結(jié)共建合同
- 2025柑橘買賣合同(橙子)
- 2025個人勞動合同范本
- 腸套疊手術(shù)實況解析
- 應(yīng)用文中考試題及答案
- 糞便檢查法寄生蟲檢查
- 浙江省杭州市拱墅區(qū)2024屆數(shù)學(xué)八年級下冊期末考試試題含解析
- 劍橋少兒英語二級期末考試試卷(真題)
- 年產(chǎn)5萬噸1,4-丁二醇的工藝流程設(shè)計
- GB/T 43825-2024犬狂犬病疫苗接種技術(shù)規(guī)范
- (高清版)TDT 1037-2013 土地整治重大項目可行性研究報告編制規(guī)程
- 中國石油加油站建設(shè)標(biāo)準(zhǔn)設(shè)計
- 數(shù)字醫(yī)療論文
- 二年級下冊數(shù)學(xué)無紙化測評方案
- 大學(xué)化學(xué)期末考試卷(含答案)
- 化工行業(yè)儀表典型事故分析報告
評論
0/150
提交評論