午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

軟件發(fā)布工作流管理的制作方法

文檔序號:9422692閱讀:508來源:國知局
軟件發(fā)布工作流管理的制作方法
【專利說明】軟件發(fā)布工作流管理
[000。 背景
[0002] 相關(guān)技術(shù)簡述
[0003] 軟件開發(fā)通常設(shè)及將源代碼文件編譯為二進制包W發(fā)布(release)到生產(chǎn)和交 付環(huán)境中的構(gòu)建過程。一些軟件開發(fā)項目可設(shè)及具有復(fù)雜依賴性結(jié)構(gòu)的數(shù)千或甚至數(shù)萬個 源代碼文件。一個源代碼文件的改變從而可能導(dǎo)致大量其他源代碼文件的不期望的狀態(tài)或 不期望的結(jié)果和失敗。
[0004] 軟件發(fā)布通常包括在期間軟件構(gòu)建(softwarebuild)的結(jié)果被測試的一個或多 個驗證或測試規(guī)程。復(fù)雜產(chǎn)品的軟件發(fā)布通常還設(shè)及在其中進行運種測試的多個環(huán)境。例 如,在開發(fā)團隊指示源代碼開發(fā)已達到某個里程碑時,通常將該軟件產(chǎn)品發(fā)送到集成環(huán)境, 在該集成環(huán)境中針對依賴系統(tǒng)測試給定組件或測試多個開發(fā)分支。在一些情況下,在集成 環(huán)境之后,軟件產(chǎn)品可被發(fā)布到預(yù)演(staging)環(huán)境W在最終移動到生產(chǎn)環(huán)境之前進行進 一步驗證。
[0005] 概述
[0006] 各方法、系統(tǒng)和計算機程序產(chǎn)品設(shè)及管理軟件發(fā)布工作流。一個或多個口控規(guī)則 可被用來自動化軟件發(fā)布工作流的管理。
[0007] 根據(jù)本公開的一個方面,基于軟件產(chǎn)品的口控規(guī)則是否滿足,在用于該軟件產(chǎn)品 的發(fā)布流水線中實現(xiàn)到多個軟件工程系統(tǒng)的后續(xù)指令。
[0008] 提供概述W便W簡化形式介紹將在W下詳細描述中進一步描述的一些概念的選 集。本
【發(fā)明內(nèi)容】
并不旨在標識所要求保護主題的關(guān)鍵特征或必要特征,也不旨在用于限制 所要求保護主題的范圍。
[0009] 附圖簡述
[0010] 為更完全地理解本公開,參考W下詳細描述和附圖,在附圖中,相同的參考標號可 被用來標識附圖中相同的元素。
[0011] 圖1是根據(jù)一個實施例的被配置成用于軟件發(fā)布工作流管理的示例性系統(tǒng)的框 圖。
[0012] 圖2是根據(jù)一個實施例的圖1的系統(tǒng)的發(fā)布流水線協(xié)調(diào)器(orchestrator)的框 圖。
[0013] 圖3是根據(jù)一個實施例的用于軟件發(fā)布工作流管理的示例性計算機實現(xiàn)的方法 的流程圖。
[0014] 圖4是根據(jù)用于所公開的方法和系統(tǒng)或其一個或多個組件或方面的實現(xiàn)的一個 實施例的計算環(huán)境的框圖。
[0015] 盡管所公開的系統(tǒng)和方法易于具有各種形式的實施例,但在附圖中示出了(并在 下文描述了)各具體實施例,其中要理解,本公開旨在是說明性的,而不將本發(fā)明限于本文 所描述和示出的各具體實施例。
[001引詳細描述
[0017] 描述了用于管理軟件產(chǎn)品的發(fā)布的方法、系統(tǒng)和計算機程序產(chǎn)品。發(fā)布的管理經(jīng) 由指導(dǎo)該發(fā)布中所設(shè)及的多個軟件工程系統(tǒng)的操作的工作流支持。所公開的實施例的工作 流建立集成了各軟件工程系統(tǒng)的服務(wù)的發(fā)布流水線。發(fā)布流水線的實現(xiàn)被所公開的實施例 自動化,而不管軟件工程系統(tǒng)所提供的服務(wù)的通常復(fù)雜的性質(zhì),其可設(shè)及其自己的內(nèi)部工 作流。
[0018] 與軟件工程系統(tǒng)的交互和工作流的執(zhí)行經(jīng)由多個策略或口控規(guī)則的應(yīng)用來被自 動化??诳匾?guī)則可提供決策邏輯和其他定制來支持工作流的高效實現(xiàn)。例如,工作流的執(zhí) 行可包括對各順應(yīng)性參數(shù)的自動化檢查,諸如正確的個體是否已經(jīng)批準了發(fā)布或工作流的 特定步驟。其他自動化檢查可設(shè)及與質(zhì)量保證有關(guān)的策略或規(guī)則。工作流從而可包括、指 導(dǎo)W及W其他方式控制發(fā)布生命周期的不同方面或階段,諸如構(gòu)建過程和驗證過程。所公 開的實施例還可經(jīng)由前端或用戶接口和/或其他接口(例如,應(yīng)用編程接口(API))來自動 化發(fā)布流水線的定義,其中發(fā)布請求通過所述接口被接收或獲得W發(fā)起發(fā)布。
[0019] 所公開的實施例可被用來改善整個發(fā)布過程或周期的效率。所公開的實施例自動 化了各軟件工程系統(tǒng)中的特定軟件工程系統(tǒng)內(nèi)實現(xiàn)的過程的自動化(例如,構(gòu)建自動化) 之外的發(fā)布過程。所公開的實施例所提供的整個發(fā)布周期的自動化可使得軟件開發(fā)者能夠 更快且更經(jīng)常地發(fā)布軟件產(chǎn)品而不犧牲其他利益,諸如維持順從性和安全性。例如,使用所 公開的實施例,發(fā)布事務(wù)和其他動作不需要經(jīng)由電子郵件、電子表格、或其他低效的、人工 的過程來跟蹤或?qū)崿F(xiàn)。通過移除發(fā)布過程中的運些人工步驟,可W經(jīng)由所公開的實施例提 供靈活、無縫或連續(xù)的發(fā)布體驗。通過所公開的實施例所提供的發(fā)布管理服務(wù)的縮放(例 如,基于云的縮放)和/或更高的可用性(例如,針對本地或區(qū)域中斷的保護)還可促進效 率提升。
[0020] 盡管本文參考了經(jīng)由所公開的實施例管理的各種商業(yè)可用的軟件工程服務(wù),然而 所公開的實施例不限于任何特定類型的工程服務(wù)或其提供商。盡管是結(jié)合基于云的服務(wù)來 描述的,然而所公開的實施例不限于任何特定操作系統(tǒng)、環(huán)境、平臺或計算基礎(chǔ)結(jié)構(gòu)。所公 開的實施例可被用來管理各種類型的軟件產(chǎn)品的發(fā)布。
[0021] 經(jīng)由所公開的實施例管理的發(fā)布的性質(zhì)可改變。例如,發(fā)布不需要設(shè)及軟件產(chǎn)品 到生產(chǎn)的全部或完整發(fā)布。相反,該發(fā)布可設(shè)及部分發(fā)布,諸如對軟件產(chǎn)品的補下、熱修復(fù) 化Otfix)或快速修復(fù)更新,或配置改變。發(fā)布的最終階段或目的地不需要設(shè)及生產(chǎn)或部署。 例如,發(fā)布可W是制造商內(nèi)的各發(fā)布環(huán)境(諸如集成環(huán)境和預(yù)演環(huán)境)之間的內(nèi)部發(fā)布。
[0022] 圖1描繪了用于開發(fā)一個或多個軟件產(chǎn)品的軟件開發(fā)環(huán)境100。軟件開發(fā)環(huán)境100 包括被配置成管理軟件發(fā)布工作流的發(fā)布管理系統(tǒng)102或服務(wù)。軟件開發(fā)環(huán)境100包括在 軟件開發(fā)過程期間使用的多個軟件工程系統(tǒng)。軟件工程系統(tǒng)的各種組合可在由該發(fā)布工作 流所建立的發(fā)布流水線中被應(yīng)用到軟件產(chǎn)品。軟件工程系統(tǒng)可W是分立系統(tǒng)或集成到任何 期望程度。例如,軟件工程系統(tǒng)中的一個或多個可W作為獨立的軟件服務(wù)來提供。在此示 例中,軟件工程系統(tǒng)包括源控制系統(tǒng)104、構(gòu)建系統(tǒng)106、驗證系統(tǒng)108、項目管理系統(tǒng)110、 部署基礎(chǔ)結(jié)構(gòu)112、W及警告系統(tǒng)114。更多、更少或替換系統(tǒng)可被提供。例如,軟件工程系 統(tǒng)可包括內(nèi)容分發(fā)服務(wù),其被配置成向各種分布(例如,全世界)分發(fā)構(gòu)建輸出(例如,二 進制文件、配置數(shù)據(jù)、W及其他人造物),并且提供服務(wù),諸如構(gòu)建目錄服務(wù),其可發(fā)現(xiàn)構(gòu)建 并使用驗證來確保在交付時內(nèi)容的完整性被保留。運種內(nèi)容分發(fā)服務(wù)可與構(gòu)建系統(tǒng)106、部 署基礎(chǔ)結(jié)構(gòu)112集成,或可被配置成獨立服務(wù)。
[0023]所述軟件工程系統(tǒng)中的每一個被配置成處理指示正被開發(fā)的軟件產(chǎn)品的數(shù) 據(jù)。所述軟件工程系統(tǒng)中的一個或多個可作為服務(wù)來提供(例如在客戶端-服務(wù)器框架 中)或W其他方式設(shè)及分布式計算基礎(chǔ)結(jié)構(gòu)。所述軟件工程系統(tǒng)中的一個或多個從而可 經(jīng)由云或其他聯(lián)網(wǎng)計算布置來提供或支持。例如,構(gòu)建系統(tǒng)106可根據(jù)于2013年2月 28日公開的題為"Cloud-basedBuildService(基于云的構(gòu)建服務(wù))"的美國專利公開 No. 2013/0055253(微軟代理人檔案號333025.01)的教導(dǎo)來配置。各軟件工程系統(tǒng)不需 要如圖1所示分開地提供。各軟件工程系統(tǒng)可W被集成到任何期望程度。例如,所述軟件 工程系統(tǒng)中的一些或全部可W-種或多種方式禪合。在一些示例中,該禪合可設(shè)及共享 儲存庫或其他資源和/或設(shè)及交互或通信,諸如經(jīng)由API。例如,一個或多個資源控制服 務(wù)、一個或多個項目管理服務(wù)、和/或其他服務(wù)可經(jīng)由共同的服務(wù)器(諸如根據(jù)來自微軟 公司的Team化undationServer(團隊基礎(chǔ)服務(wù)器)配置的服務(wù)器)來提供,其可W作為 VisualS化dio?系統(tǒng)(諸如VisualS化dio⑥應(yīng)用生命周期管理系統(tǒng))的一部分來提供。
[0024] 資源控制系統(tǒng)104可設(shè)及軟件產(chǎn)品的源代碼的版本或修訂控制和其他管理。在一 個示例中,源控制系統(tǒng)104利用化計orce修訂控制系統(tǒng)(Perhrce軟件公司),但是可使用 任何源控制系統(tǒng)。源控制系統(tǒng)104可包括用于源代碼數(shù)據(jù)或文件的一個或多個儲存庫。儲 存庫可W是本地的或分布式的。例如,儲存庫可被置于并布置于云基礎(chǔ)結(jié)構(gòu)中。源代碼可 W任一種或多種語言來編寫,且針對該源代碼的平臺和操作系統(tǒng)也可改變。
[00巧]構(gòu)建系統(tǒng)106可設(shè)及把將源代碼數(shù)據(jù)編譯為二進制代碼并將二進制代碼打包的 過程自動化。構(gòu)建系統(tǒng)106可包括用于處理和處置源代碼和二進制代碼文件和數(shù)據(jù)的多個 工具和儲存庫。例如,構(gòu)建系統(tǒng)106可包括、配置或訪問構(gòu)建的結(jié)果被存儲在其中的文件服 務(wù)器。任何構(gòu)建軟件、工具和/或基礎(chǔ)結(jié)構(gòu)可在構(gòu)建系統(tǒng)106中使用。在一個示例中,構(gòu)建 系統(tǒng)106利用MSBuild構(gòu)建平臺(微軟公司),該平臺可經(jīng)由Mi沈瓶O橄?VisualS化dio獲 集成開發(fā)環(huán)境可用或與其結(jié)合。也可使用其他構(gòu)建系統(tǒng)和/或集成開發(fā)環(huán)境。
[0026]驗證系統(tǒng)108可設(shè)及驗證二進制代碼(其可包括二進制文件化inaries)的集合) 的可操作性。驗證系統(tǒng)108可被配置成執(zhí)行被配置成確定二進制代碼是否按預(yù)期工作的數(shù) 個測試。例如,一個或多個測試可被配置成確定該二進制代碼是否滿足該軟件產(chǎn)品的數(shù)個 規(guī)范??商峁└鞣N不同類型的測試,包括例如單元測試、功能測試、壓力測試、故障注入、穿 透測試等。其他類型的驗證過程可由驗證系統(tǒng)108實現(xiàn),包括例如順從性驗證和安全性驗 證。
[0027] 項目管理系統(tǒng)110可設(shè)及收集、跟蹤和/或存儲指示發(fā)布過程的記錄的數(shù)據(jù)。例 如,工作項跟蹤、事件(incident)跟蹤、部署跟蹤、W及其他項目跟蹤可由項目管理系統(tǒng) 110來實現(xiàn)W支持發(fā)布流水線的執(zhí)行。項目管理系統(tǒng)110可被用來向發(fā)布管理系統(tǒng)102提 供信號或其他數(shù)據(jù)W指示特定動作完成、帶故障地完成等。項目管理系統(tǒng)110可替換地或 附加地被配置成提供用于發(fā)布管理系統(tǒng)102的日志記錄功能性。運種日志記錄可W各種方 式有用。例如,日志數(shù)據(jù)可包括例如順從性數(shù)據(jù),諸如批準發(fā)布過程中的一步驟的用戶的身 份。項目管理系統(tǒng)110可包括儲存庫,諸如持久存儲,運種日志和其他發(fā)布過程數(shù)據(jù)被存儲 在該儲存庫中。項目管理系統(tǒng)110可包括管理器(例如,數(shù)據(jù)庫管理器)和用于訪問、處置、 或W其他方式處理發(fā)布過程數(shù)據(jù)(例如,生成業(yè)務(wù)智能報告)的用戶接口。項目管理系統(tǒng) 110可包括來自微軟公司的Microsoft及SQLServe憤或SQLAzure?數(shù)據(jù)庫管理系統(tǒng),但是 也可使用其他數(shù)據(jù)庫管理系統(tǒng)或基礎(chǔ)結(jié)構(gòu)。在一些示例中,項目管理系統(tǒng)110可包括上面 參考的來自微軟公司的Team化undationServer平臺,但是也可使用其他服務(wù)。
[0028] 部署基礎(chǔ)結(jié)構(gòu)112可設(shè)及軟件產(chǎn)品的自動化部署。部署基礎(chǔ)結(jié)構(gòu)112可包括被配 置成支持軟件產(chǎn)品更新的網(wǎng)關(guān)或其他服務(wù)。例如,如果軟件產(chǎn)品被配置成用于基于云的執(zhí) 行,則部署基礎(chǔ)結(jié)構(gòu)112可包括用于將該軟件產(chǎn)品分發(fā)到一個或多個數(shù)據(jù)中屯、、虛擬機等 的服務(wù)。在一些情況下,諸如當軟件產(chǎn)品不被電子地分發(fā)時,軟件開發(fā)環(huán)境100不需要包括 部署基礎(chǔ)結(jié)構(gòu)112。
[0029] 警告系統(tǒng)114可包括用于在發(fā)布管理系統(tǒng)102的任何專用或其他用戶接口之外 支持與用戶通信的警告或監(jiān)視服務(wù)。通信可包括用于向用戶告知在工作流的實現(xiàn)期間發(fā) 生的事件,諸如失?。ɡ?,構(gòu)建失?。?,的警告或其他消息。該消息可利用各種通信協(xié)議 和介質(zhì),包括例如電子郵件和文本消息,但是也可使用其他消息收發(fā)框架。警告系統(tǒng)114 可W是基于云的監(jiān)視服務(wù),諸如來自微軟公司的WindowsAzureTMAle;rtandIncident MonitoringService(警告和事件監(jiān)視服務(wù),AIM巧,但是也可使用非基于云的監(jiān)視服務(wù)。
[0030] 在一些實施例中,警告系統(tǒng)114的一個或多個功能可與發(fā)布管理系統(tǒng)102集成。例 如,對發(fā)布過程的監(jiān)視和/或評估(例如,W檢測引起警告的事件)可由發(fā)布管理系統(tǒng)102 的模塊實現(xiàn)。圖2的實施例提供了運種監(jiān)視的一些示例。警告系統(tǒng)114隨后可被指示傳送 關(guān)于所檢測
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1