IBM® Rational® Asset Manager
一個托管的存儲庫,其中包含可部署構件和標準基礎架構拓撲。
IBM® Rational® Quality Manager
一個基于 Web 的測試管理環境,適用于協作測試規劃、流程控制、跟蹤和指標報告。
設計和實現自動的部署
第一個挑戰是建立可以在整個開發和測試中使用的自動化的部署腳本,還可以將它用于生產中。這帶來了以下兩個挑戰:
第一個挑戰是就如何部署應用程序和如何應配置中間件進行溝通。
第二個挑戰是如何使腳本或腳本集支持所有環境,同時仍然對所有腳本都將成功部署應用程序充滿有信心。
Rational Software Architect 提供了以圖形化的方式來描述部署拓撲的功能。它還有助于驗證所描述的拓撲結構是一致的、合理的、沒有漏掉所需要的任何要素,因此,它有助于減少以后出現代價高昂的錯誤的機會。建立部署拓撲之后,開發人員就可以在 Web 上對這些拓撲進行協作,與利益相關者分享它們,并允許人們對其發表意見和參加正式的評審。
Rational Software Architect 提供了定義邏輯和物理部署拓撲的功能,有助于解決第二個挑戰。這使得邏輯拓撲能夠描述應如何將應用程序部署到不同邏輯環境的多個重要方面,然后,在將它映射到真正的基礎架構時,它會強制實施邏輯模型中的所有約束。
圖 2. 邏輯 Java Enterprise Edition (JEE) 部署拓撲示例
此方法可降低生產部署風險,因為會使用該模型來生成適用于所有環境的腳本,并且會在整個開發過程中非常徹底地測試該腳本。
即使適用于不同環境的腳本可能會有所不同,Rational Software Architect 可幫助確保該腳本將正確部署應用程序,因為腳本是從物理拓撲生成的,它確保物理拓撲可滿足邏輯拓撲的所有要求。因此,可以很容易地生成一個適用于新環境的腳本,并且我們對它第一次就能正常工作有很大的信心。
圖 3. 基礎架構的邏輯拓撲
在您定義了如何將應用程序部署到中間件之后,就可以分析模型以實現可能的自動化,并參照已知的腳本對拓撲中的元素進行匹配,從而實現相應部分的部署。這支持部署和配置大部分 IBM 中間件和最常見的替代品。這種方法大大減少了設置一個新的自動化部署的工作,并且它可以降低部署到不同環境的風險。
拓撲成為關鍵的構建。部署到不同的環境是一件簡單的事,只需籌劃應該如何將各種應用程序組件(EAR、WAR 和 DLL 文件、隊列定義等)部署到新的環境,然后生成腳本來自動化工作。因此,它需要的手動工作少得多,并且該工具通過驗證是否已正確映射應用程序而降低了風險。
在持續部署的情況下,您將使用一個邏輯拓撲來描述應用程序的關鍵元素,并且每個明顯不同的環境都對應一個拓撲,它描述了應該如何將應用程序部署到該環境中。這些拓撲都將用于生成持續部署過程中所用的部署腳本。
交付變更
在您生成部署腳本后,需要將這些腳本納入到開發環境中,使所有的變更都能持續部署。這意味著測試團隊可以節省大量時間,因為他們并不需要建立測試環境(通常估計完成該項工作的時間在測試工作中占 20-30%)。即便如此,仍然會使用和調試部署腳本,并且對生產而言,應用程序始終有可能是可以部署的。
完成此設置的最簡單的方法是,修改現有的持續構建腳本,將可部署的構件存儲在資產庫中,然后請求利用該庫中的資產進行部署。部署請求將使用先前從 Rational Software Architect 生成的腳本,并將應用程序部署到某個測試目標(或多個目標)。
圖 4. 持續集成引擎請求一個持續部署
然后,您要配置 IBM® Rational® Quality Manager 監視持續部署版本。在一個成功的部署中,會運行您的回歸測試軟件,并解鎖任何以前失敗過并且在最新版本中提供了修復的測試。該方法意味著,每次開發人員進行一此更改,持續部署也會驗證應用程序是可部署的,并能通過所有回歸測試。因此,在這種環境中,一個簡單的單行代碼變就可以使測試版本在幾分鐘內準備好部署到生產環境中。
圖 5. Rational Quality Manager 監視部署版本
在考慮這種方法時,人們常常想到的問題或疑慮是他們可能需要的硬件數量。不過,我們有一個簡單且具成本效益的解決方案:云(請參閱 參考資料,以獲得 IBM SmartCloud Enterprise 選項的鏈接)。部署腳本啟動一個映像,將應用程序部署到該映像,然后運行功能測試,并關閉映像。通過這種方法,組織可以應付有許多變更的開發周期(例如,迭代結束),并且在較少變更和需要較少硬件時能夠最大限度地降低成本。
團隊還需要一個用來定期探索性測試和構建新自動化測試腳本的環境??梢酝ㄟ^建立滾動環境來實現此環境,每日構建 (daily build) 被部署在該環境中,并且會在該環境中保持數天。您也可以讓測試團隊根據需要請求構建,然后將這些構建部署到通過 Rational Quality Manager 的測試實驗室管理特性預訂的測試硬件,或部署到云,這與持續部署的工作方式相同。這種方法可以降低硬件成本,并節省開發時間,因為測試設置減少了,反饋速度更快,并且生產部署的風險更低。
圖 6. Rational Automation Framework 部署到多種環境
原文轉自:http://www.ibm.com/developerworks/cn/rational/continuous-deployment-rational-alm/index.html