[8.5.5.5 或更新版本]

視訊:DevOps 與 WebSphere Liberty 伺服器

以下是「DevOps 與 WebSphere® Liberty 伺服器」視訊的文字稿,示範如何透過 Liberty 伺服器 DevOps 以及一些開放程式碼工具來開發、建置和部署應用程式。 此文字稿是視訊的分鏡腳本。「音訊」說明旁白和標題。「螢幕動作」說明視訊中顯示的內容。

視訊 示範 - DevOps 與 WebSphere Liberty 伺服器

表 1. 標題頁面. 顯示標題,然後顯示建置、更新、測試和部署應用程式的基本概觀。
場景 音訊 螢幕動作
1 本示範顯示如何藉由 WebSphere Liberty 伺服器和一組共用的開放程式碼工具,以提供用來建置和部署應用程式的功能。 顯示「示範 - DevOps 與 WebSphere Liberty 伺服器」標題。
2 您將使用 Git 來進行來源控制,使用 WebSphere Application Server Developer Tools 來開發應用程式,以及使用 Maven 來建置。 顯示「1. 開發和建置應用程式,並使用下列選項」影像
  • Git
  • WebSphere Developer Tools (WDT)
  • Maven
3 您也會對正在 Liberty 中執行的 Web 應用程式進行變更,並將所做的變更從 Eclipse IDE 推送到正式作業環境。 顯示「2. 更新應用程式,並使用 WDT」影像。
4 您會將 Apache Maven 與 WebSphere Liberty Maven 外掛程式一起使用,以執行整合測試來驗證您所做的變更。 顯示「3. 測試應用程式與 Liberty Maven 外掛程式」影像。
5 此外,您也將利用 Jenkins 進行連續整合。 顯示「4. 連續整合,並使用 Jenkins」影像。
6 您將使用 Chef,將新建置推送到正式作業環境。

Liberty 將成為上面所有 DevOps 實務的 Java™ Platform, Enterprise Edition 執行時期。 在這項示範中,我們將使用航空應用程式 - AcmeAir 作為範例。 它將示範可控制且重複性極高的 DevOps 實務。

顯示「5. 連續部署,並使用 Chef」影像。
表 2. 示範如何開發和建置應用程式
場景 音訊 螢幕動作
7 現在,我們開始第一項實務:開發和建置應用程式。

開啟 Eclipse,其中已預先安裝了 WDT。

  1. 我們將設定工作區喜好設定,以便與 Maven 搭配使用。
  2. 之後,我們將複製含有 AcmeAir 應用程式的 Git 儲存庫,請指定 Git 儲存庫 URI。
  3. 之後,我們將匯入一組以 Maven 為基礎的 AcmeAir 專案:這個儲存庫含有 5 個以 Maven 為基礎的專案。
  4. 現在,我們可以執行 Maven 建置,以建置專案並建立應用程式構件。 當完成時,請確定建置成功。
  5. 現在,我們可以建立一個 Liberty Profile 伺服器,以便從 Eclipse 執行應用程式:因此,請指定 Liberty 安裝目錄。
  6. 此外,也請指定 Liberty 伺服器名稱。
  7. 之後,我們可以開啟 server.xml,配置伺服器來執行我們的 AcmeAir 應用程式。
    • 首先,我們要指定 <httpEndpoint> 端點。
    • 我們也將新增資料庫配置,讓它參照應用程式資料的 Derby 資料庫。
  8. 啟動 WebSphere Liberty 設定檔伺服器和 AcmeAir 應用程式。
  9. 現在,請登入及體驗應用程式。
  10. 您可以選取您的目的地及離開的城市。請檢查及預訂可用的機票。
顯示「步驟 1 開發和建置應用程式」標題。

示範顯示下列步驟,以使用 WDT 來開發和建置應用程式。

開啟 Eclipse,其中已預先安裝了 WDT。

  1. 設定工作區喜好設定,以便與 Maven 搭配使用。按一下設定所有 Maven 值按鈕。
  2. 我們將指定 Git 儲存庫 URI 來複製含有 AcmeAir 應用程式的 Git 儲存庫。
  3. 匯入一組以 Maven 為基礎的 AcmeAir 專案:acmeair 儲存庫含有 5 個以 Maven 為基礎的專案。
  4. 現在,執行 Maven,以建置專案並建立應用程式構件。當建置完成時,請確定其成功。
  5. 現在,我們可以建立 WebSphere Liberty Profile 伺服器,以便從 Eclipse 執行應用程式:指定 Liberty 安裝目錄。
  6. 將伺服器命名為 AcmeAirDemo,並在其中新增 acmeair-webapp 應用程式。
  7. 開啟伺服器配置 server.xml 檔,以針對這項服務配置 Liberty 伺服器。
    • 取代 <httpEndpoint> 元素,並新增進一步的配置。
    • 新增資料庫配置,使其參照應用程式資料的 Derby 資料庫。
  8. 啟動 WebSphere Liberty 設定檔伺服器和 AcmeAir 應用程式。
  9. 按一下應用程式 URL,驗證應用程式處於作用中。載入航班資料集,以起始設定應用程式。
  10. 現在 AcmeAir 已備妥可供使用。
    • 登入應用程式,並按一下航班動作,然後在出發之下輸入 New York,在抵達之下輸入 Paris
    • 按一下尋找航班瀏覽航班按鈕。
    • 挑選任何離境航班,並且點選它。
    • 挑選任何回航航班,並且點選它。
    • 按一下預訂選取航班按鈕。
表 3. 示範如何更新應用程式
場景 音訊 螢幕動作
8

在實務 2 中,我們將快速變更應用程式,顯示如何進行其持續交付。 為了簡化實務,我們只會對已編製索引的頁面進行極小的變更。 用「歡迎使用 Acme Air」來取代部分強調顯示的內容。 儲存這些變更之後,現在,您可以重新整理,變更已經生效。

顯示「步驟 2 更新應用程式」標題

示範顯示應用程式中正在更新的「索引」頁面。

表 4. 示範如何測試應用程式
場景 音訊 螢幕動作
9 之後,我們將利用 Maven 和 Liberty Maven 外掛程式來進行整合測試。
  1. AcmeAir 應用程式有一個 acmeair-itests 專案,內含一些整合測試。
  2. 為了啟用整合測試,我們需要編輯 pom.xml 檔。 我們需要在這裡進行少量變更,但最重要的一項是,我們將啟用及配置 Liberty Maven 外掛程式,以便在執行整合測試之前啟動 Liberty 伺服器,在測試完成之後停止伺服器。
  3. 我們將建立一項執行配置,以進行 AcmeAir 整合測試。
    • 按一下執行按鈕,以執行整合測試。測試需要幾分鐘才能完成。 因此,它已建置成功。
    • 檢查主控台輸出,看看 Liberty Maven 外掛程式是否在執行測試之前啟動伺服器,在測試之後停止伺服器。
  4. 您可以檢視測試報告,確定結果沒有錯誤。
  5. 之後,我們會將 pom.xml 變更推送至 Git,以便在 Jenkins 建置中執行 itests
示範如何使用下列步驟來測試應用程式
  1. AcmeAir 應用程式有一個 acmeair-itests 專案,內含一些整合測試。
  2. 編輯 acmeair-itests/pom.xml 檔,以啟動整合測試。
  3. 啟用 Build Helper Maven 外掛程式,以尋找可用的網路埠。
  4. 啟用和配置 Liberty Maven 外掛程式,以便在執行整合測試之前,啟動 Liberty 伺服器,並在測試完成之後停止伺服器。
  5. 啟用和配置 Maven Failsafe 外掛程式,以執行整合測試。測試將演練應用程式的 REST API
  6. 建立一項執行配置,以進行 AcmeAir 整合測試。
    • 按一下執行按鈕,以執行整合測試。測試應順利完成。
    • 檢查主控台輸出,看看 Liberty Maven 外掛程式是否在執行測試之前啟動伺服器。
    • 檢查主控台輸出,看看 Liberty Maven 外掛程式是否在測試之後停止伺服器。
  7. 檢視 target/failsafe-reports/ 目錄之下的測試報告。
  8. pom.xml 變更推送到 Git,使 itests 能夠在 Jenkins 建置中執行。
表 5. 示範如何使用 Jenkins 進行連續整合
場景 音訊 螢幕動作
10
  1. 在下一個實務中,我們將利用 Jenkins 來建立和執行 AcmeAir 應用程式的建置工作。 此工作會從 Git 移出應用程式碼、編譯應用程式、執行測試,並發佈建置構件。藉由 Schedule 中的配置,此工作每兩分鐘輪詢一次 Git 儲存庫,若有偵測到變更,就會自動啟動建置。
    • 指定 Liberty 安裝目錄。
    • 此外,我們也將新增一項後建置動作,然後選擇保存構件
    • 在一到兩分鐘之後,應會自動開始建置。
  2. 一旦建置完成並且成功,請檢查建置工作結果。測試結果應該會指出沒有失敗。
  3. 切換回到 Eclipse,並確定在「索引」頁面上所做的變更。
  4. 切換回 Jenkins,在兩分鐘內,新的建置應會出現在建置歷程表格之下。
顯示「步驟 4 連續整合」標題

示範如何使用下列步驟,利用 Jenkins 進行連續整合:

  1. 我們將使用 Jenkins 來建立和執行 AcmeAir 應用程式的建置工作。 此工作會從 Git 移出應用程式碼、編譯應用程式、執行測試,並發佈建置構件。藉由 Schedule 中的配置,此工作每兩分鐘輪詢一次 Git 儲存庫,若有偵測到變更,就會自動啟動建置。
    • 我們將按一下新增後建置動作按鈕,並選擇保存構件
    • 在一到兩分鐘之後,應會自動開始建置。
  2. 一旦建置完成並且成功,請檢查建置工作結果。acmeair-webapp-1.0-SNAPSHOT.war 檔應出現在 建置構件之下,且測試結果應會指出無失敗狀況。
  3. 切換回到 Eclipse,並確定在「索引」頁面上所做的變更。
  4. 切換至 Firefox,並前往 http://server:9080/jenkins/job/AcmeAir tests/ 位址。在兩分鐘內,新的建置應會出現在建置歷程表格之下。
    • 按一下新建置,並驗證變更之下出現正確的確定訊息。
表 6. 示範如何使用 Chef 進行連續部署
場景 音訊 螢幕動作
11
  1. 在最後一個實務中,我們將進行 Chef 的連續部署。
    • 開啟終端機視窗。
    • 建立空的錦囊妙計。
    • 編輯錦囊妙計的 meta 資料檔
    • 編輯秘訣檔案
    • AcmeAir 錦囊妙計上傳至 Chef 伺服器
  2. 此外,也請在 Chef 伺服器中登錄 template 節點。
  3. 您可以在 Chef 伺服器上配置 template 節點配置。
  4. 之後,您可以移入 Chef 節點。 這會對 template 節點執行 chef-client 指令。AcmeAir 應用程式應已充分部署,並在 template 節點上執行。 如果要驗證,請切換至 Firefox,並開啟 template 應用程式伺服器來檢查結果。
  5. 之後,我們將建立新的 Jenkins 建置工作,只在所有整合測試都通過時,才在 template 節點上呼叫 chef-client 來更新它。
    • 在 Jenkins 主控台中,編輯 AcmeAir tests 工作。
    • 後建置動作之下,按一下新增後建置動作,並選擇建置其他專案
    • 要建置的專案之下,輸入 AcmeAir-Chef
    • 要求一項 AcmeAir tests 建置,以確認 AcmeAir tests 工作會觸發 AcmeAir-Chef 工作。

我們只是示範如何使用 Liberty 和一般開放程式碼工具來演練 DevOps。 現在,您可以嘗試全部一起重複執行的完整端對端 DevOps 實務。 在這個示範中,我們選擇 Chef、WDT、Maven 和 Jenkins,不過,這些技術與 uDeploy® 和 Puppet 之類的其他 DevOps 工具很容易交換使用。謝謝觀看!

顯示「步驟 5 連續部署」標題

示範如何使用下列步驟,利用 Chef 進行連續部署:

  1. 建立錦囊妙計來部署 AcmeAir
    • 開啟終端機視窗。
    • 建立空的錦囊妙計。
    • 編輯錦囊妙計的 meta 資料檔
    • 編輯 default.rb 秘訣檔
    • AcmeAir 錦囊妙計上傳至 Chef 伺服器
  2. 引導 Chef 節點,並向 Chef 伺服器登錄 template 節點。
  3. 在 Chef 伺服器上配置 template 節點配置。
  4. 移入 Chef 節點。執行 knife ssh name:template sudo chef-client 指令。這會對 template 節點執行 chef-client 指令。Chef-client 會對該節點執行一組錦囊妙計。AcmeAir 應用程式應已充分部署,並在 template 節點上執行。 如果要驗證,請切換至 Firefox,並開啟 http://template:9081/acmeair/ 位址。
  5. Jenkins 會自動移入 Chef 節點。我們將建立新的 Jenkins 建置工作,這項建置工作只會在所有整合測試都通過時,才會對 template 節點呼叫 chef-client,來更新它。
    • 在 Jenkins 主控台中,編輯 AcmeAir tests 工作。
    • 後建置動作之下,按一下新增後建置動作,並選擇建置其他專案
    • 要建置的專案之下,輸入 AcmeAir-Chef
    • 藉由要求新的 AcmeAir tests 建置,來驗證 AcmeAir tests 工作會觸發 AcmeAir-Chef 工作。

指示主題類型的圖示 概念主題

資訊中心條款 | 意見


「時間戳記」圖示 前次更新: 2015 年 6 月 22 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=video_transcript_dev_ops_demo
檔名:video_transcript_dev_ops_demo.html