< 上一個課程 | 下一個課程 >

第 8 課:Jazz Team Build

這個區段是從一個作為使用 Rational Team Concert™ 建置所提供內容的消費者的開發人員觀點, 來檢查 Jazz™ Team Build 使用者介面。不過, 您仍需要執行某些設定,而這些通常可能是由您的建置管理者或版本工程師來做的。為了能讓 Jazz Team Build 產生專案所需的內容,可能需稍加自訂和採用建置 Script,以符合您的專案需求。所幸對 Jazz Team Build 來說,要讓它執行並不難,因此您可看到它的運作方式猶如專為您的團隊來進行的。
Jazz Team BuildRational Team Concert 的基礎元件。它本身並不會建置任何項目,但它所提供的基礎架構可從 Rational Team Concert 儲存庫擷取您團隊的工作,並提供給您的建置 Script 使用,然後將結果交付回 Rational Team Concert。作為 Rational Team Concert 使用者和建置消費者,您可以監視正在執行的建置,以及存取結果。從早期的 Rational Team Concert, 便已使用 Jazz Team Build 來建置 Rational Team Concert 本身。
Jazz Team Build 如何運作? 整體的架構如下:
  1. 定義排程:特定的建置將按照您定義的排程運作。請回想 Rational Team Concert 來源控制區段,其中,團隊將其開發工作放在一或多個團隊串流中共用。
  2. 檢查變更:當到了要為團隊執行建置的時機,Jazz Team Build 會檢查團隊串流內容中是否還有變更, 然後接受這些變更(即所謂的變更集)並放到其本身的建置工作區中,使其有一份現行的串流副本。
  3. 提取儲存庫內容,並執行建置:接著,建置會將建置工作區內容提取至您建置 Script 執行建置所在的檔案系統。
  4. 將構件發佈至儲存庫:建置構件會發佈至 Rational Team Concert 儲存庫,以供使用者存取。
  5. 傳送「建置已完成」通知:所有建置的狀態都會即時的報告,且當建置完成時,會自動通知您。
Jazz Team Build 含有 Jazz Build Engine 與 Jazz 建置工具箱。輕輕鬆鬆便可安裝它們並使其運作。從 Jazz 用戶端,完成下列作業:
  • 定義一份建置 Script(在這裡我們會讓您的 Eclipse Jazz 用戶端擔負起大部分的工作)
  • 定義一項建置定義,以識別您的建置 Script
  • 定義一個建置引擎,以執行您定義的建置
  • 啟動建置引擎,以回應建置要求、執行建置,並發佈結果
這可讓您要求建置、 檢查結果,以及探索建置使用者介面,猶如您是一位開發人員並且是 Jazz Team Build 所產生之內容的消費者。
註: 設定步驟有點冗長。如果想要的話,您現在可以暫停,稍後再回來完成。如果您決定不緊接著進行建置設定, 應閱讀標題為「瀏覽 Jazz Team Build 使用者介面」的下一個區段。您將在這裡學習如何才能要求建置,並檢查建置結果。

為建置團隊成員設定一個 Eclipse 工作區

在這項指導教學中,您在前面課程中建立的建置團隊成員為專用的建置使用者。請為建置團隊成員設定和配置新的 Eclipse 工作區。
如果要為建置團隊成員設定和配置新的 Eclipse 工作區,請執行下列動作:
  1. 切換至新的 Eclipse 工作區。
  2. 建立儲存庫連線。
  3. 連接 Prelude 專案區域。
如需相關資訊,請參閱第 2 課:取得連線。 在您完成設定之後,「團隊構件」視圖應會顯示如下:

建置團隊成員 Eclipse 工作區

建立建置 Script

如果要建立建置 Script,請執行下列動作:
確定您已定義儲存庫連線,並且已登入。
  1. 套件瀏覽器視圖中,用滑鼠右鍵按一下專案;然後按一下匯出
  2. 匯出精靈的選取頁面上,在一般下選取 Ant 建置檔,然後按下一步
  3. 匯出頁面上,確定您的專案和所有勾選框都已選取,然後按一下完成
您的專案中會新增一個 build.xml 檔。這個檔案使用 Ant Scripting 語言。這個 Script 會編譯您的專案,並產生 Java™ 類別檔。請注意,會將它識別成一項送出的變更。

新增至「套件瀏覽器」視圖的 build.xml

小心: 請尚不交付 Ant Script。

建立專用的儲存庫工作區

您可以建立專用的儲存庫工作區,以供您專案的 Jazz 建置定義使用。在建置期間, 使用預先指派的使用者 ID 來連接 Jazz 儲存庫的Jazz Build Engine 會使用這個建置工作區,來識別所要建置的內容。首先,它會接受團隊串流所送入的任何變更,然後將建置工作區的內容載入至本端檔案系統進行處理。
如果要建立專用的建置儲存庫工作區,請執行下列動作:
  1. 團隊構件視圖中,用滑鼠右鍵按一下我的儲存庫工作區;然後按一下新建 > 儲存庫工作區
  2. 新建儲存庫工作區精靈的選取串流頁面上, 按一下隨串流流動圓鈕,並在下方的窗格中,選取團隊 1 串流(團隊 1)
  3. 下一步
  4. 新建儲存庫工作區頁面中,輸入團隊 1 建置工作區這個建置工作區名稱, 然後按下一步
  5. 讀取權限頁面上,確定已選取公用,然後按下一步
  6. 要新增的元件頁面中,確認已選取串流的元件,並清除建立後載入儲存庫工作區勾選框。
  7. 按一下完成 這時建置儲存庫工作區會顯示在您的視圖中。

    已新增至「我的儲存庫工作區」視圖中的建置儲存庫工作區

建立建置定義和建置引擎

您可以為專案建立 Jazz 建置定義。建置定義會配置成使用新的建置工作區, 因此在建置執行時,它就可以在開始建置前,接受團隊串流所傳來的任何變更。
如果要建立建置定義,請執行下列動作:
  1. 團隊構件視圖中,展開專案資料夾。
  2. 用滑鼠右鍵按一下建置,然後按一下新建建置定義
  3. 新建建置定義精靈的新建建置定義頁面上,接受預設值,並按下一步
  4. 一般資訊頁面的可用的建置範本窗格中,選取 Ant – Jazz Build Engine,然後按下一步
  5. 預先建置頁面中選取 Jazz Source Control,然後按下一步
  6. 後建置頁面中接受預設值,然後按下一步
  7. 其他配置頁面中,確定所有選項都已選取,然後按一下完成 這時會開啟建置定義編輯器。
  8. 為建置定義建立建置引擎:
    1. 支援的建置引擎窗格中,按一下建立引擎
    2. 建立建置引擎對話框的引擎 ID 欄位中, 輸入 PreludeBuildEngine
    3. 按一下確定
  9. 按一下建置定義編輯器的 Jazz Source Control 標籤。
  10. 載入選項窗格的載入目錄欄位中,輸入 fetched
  11. 如果要指定建置工作區,請完成下列步驟:
    1. 建置工作區窗格中,按一下選取
    2. 選取串流或工作區對話框的相符的項目窗格中, 選取團隊 1 建置工作區,然後按一下確定
  12. 按一下 Ant 標籤。
  13. 建置檔欄位中,輸入下列路徑: fetched/projectname/build.xml,其中 projectname 是您 Java 專案的名稱。以本指導教學來說, 則使用 HelloWorld 專案。
  14. Java 起始目錄欄位中輸入 Java 編譯器的檔案路徑。例如 C:\Program Files\IBM\TeamConcert\jdk
  15. 按一下儲存
設定完成!如果您檢查團隊構件視圖,將可看到其中列出建置定義和建置引擎。

「團隊構件」視圖中的建置定義和建置引擎

交付建置 Script

在啟動建置引擎以執行建置之前,請回想,您還沒有將 Hello Prelude 專案中的建置 Script (build.xml) 交付至串流。少了它,Jazz Build Engine 就缺乏必要的指示來執行建置。現在,請交付該項變更。
  1. 擱置的變更視圖的預設元件下, 用滑鼠右鍵按一下尚未解決;然後按一下移入並交付

    「擱置的變更」視圖

  2. 移入並交付精靈的變更集註解窗格中,輸入註解並按下一步
  3. 建立工作項目關聯頁面中,選取現有的工作項目,然後按一下完成
現在,建置 Script 已在串流中。當建置執行時,就能夠使用 Script。

啟動建置引擎

啟動建置引擎,以準備執行建置。
註: 在您啟動建置引擎時,為了確定使用的 JDK 正確, 您可以使用 -vm 指令行引數, 來指定 Jazz 用戶端中所包含的 JDK。

如果要啟動建置引擎,請執行下列動作:
  1. 從指令行導覽至 installdir/buildsystem/buildengine/eclipse, 其中 installdirBuild System Toolkit 安裝目錄
  2. 輸入 jbe -vm clientinstalldir/jazz/client/eclipse/jdk/bin/java -repository repositoryURL -userId build –pass password -engineId PreludeBuildEngine ,其中
    • clientinstalldirJazz 用戶端 安裝目錄。
    • repositoryURL 是您的儲存庫 URL。例如 http://localhost:9080/jazz/
    • password 是建置使用者的密碼。
    在本指導教學中, 使用者 ID 為 build,建置引擎 ID 為 PreludeBuildEngine
此時會啟動引擎,且在主控台中其外觀類似如下(您可能還會看到其他一些訊息):
2009-06-11 16:08:47 正在執行建置迴圈...
2009-06-11 16:08:47 正在等待要求...

將 -sleepTime 值設為 1(秒),是確保會立即處理建置要求。

建置引擎正在等待工作。此時就可開始執行建置。

導覽 Jazz Team Build 使用者介面

瞭解您可以利用 Jazz Team Build 來執行的建置作業。

Jazz 用戶端可讓您執行下列的建置作業:

請檢查上述每一項作業。

要求建置

您可以從團隊構件視圖來要求建置。您也可以變更建置內容,或要求不會影響建置定義狀態,並且是在您指定的工作區中執行的個人建置。
如果要要求建置,請執行下列動作:
  1. 團隊構件視圖中,展開專案資料夾。
  2. 展開建置資料夾,並在清單中找出建置名稱。
  3. 按一下滑鼠右鍵團隊 1 建置;然後按一下要求建置
    1. 選用:如果要要求不會影響建置定義狀態,並且是在您指定的儲存庫工作區中執行的個人建置,請在建置選項窗格中,選取個人建置。必要的話,請更新儲存庫工作區元件載入規則欄位。
  4. 要求建置對話框中,按一下提交
建置引擎會處理建置要求。在您啟動建置引擎的指令視窗中,您可以觀察到這項程序。

如果建置沒有執行正確, 請檢查發佈在建置結果中的日誌檔。

檢視建置結果

開啟建置結果,並查看曾發生的狀況。
建置結果編輯器含有概觀日誌內容標籤。視建置 Script 在建置結果中提供的內容而定, 您可以檢視其他的標籤。例如, 如果建置 Script 提供編譯結果與下載項目, 則建置結果編輯器將包含編譯下載項目標籤。

您已完成下列作業:

  1. 提交建置要求。這可能按照預先定義的排程而已自動起始。
  2. Jazz Build Engine 已收到要求和建置定義。
  3. 藉由建置定義中所配置的建置工作區(團隊 1 建置工作區Jazz Build Engine 已執行接受作業, 而從串流來更新建置工作區。在第一項建置中,這會將新建的建置 Script (build.xml) 擷取到建置工作區中,而這是執行建置時不可或缺的。
  4. 將更新後的建置工作區內容載入至檔案系統,並使用建置定義中的 fetched 目錄。
  5. 呼叫指定在建置定義中的建置 Script。我們的 Script 編譯了 HelloWorld 專案, 並建立 Java 類別檔。有一個更複雜的 Script 可能已建立一個 Jar 檔,並將它發佈回 Jazz 中。
  6. 當 Script 完成時,建置日誌和其他任何已發佈的結果會儲存在 Jazz 儲存庫中。
  7. 通知團隊該項建置已完成。

建置結果編輯器

以下指出建置結果編輯器可提供的資訊:

檢查建置日誌

檢查建置日誌,查看新建置 Script 是否起作用。
  1. 移至「日誌」頁面。 請檢查建置的執行結果。

    「日誌」頁面

  2. 選取日誌檔,並按一下開啟 您可以在其中查看曾經發生的最相關活動。

    建置日誌範例

    現在,您正開始查看 Jazz 如何盡可能地在您和團隊面前呈現建置資訊。

監視建置的狀態

建置狀態可被動或主動取得。被動建置資訊透過兩種方式提供:在團隊核心視圖的建置區段中,以及畫面上短暫出現的建置警示中。

當建置完成時,團隊核心視圖的建置區段會更新,顯示您所參與之團隊已完成建置的狀態。

對於您在這個視圖中選取的建置,您可以查看該建置的結果,或要求新建置。

如果要自訂多久更新一次狀態,請執行下列動作:

尋找可用的建置

您可以在建置視圖中查看有哪些可用的建置、 執行中建置的狀態,以及排入佇列等待執行的建置。 如果要存取此視圖,請在團隊構件視圖的建置資料夾中, 使用顯示建置結果快速功能表。

「顯示建置結果」功能表項目

您可以選取直欄,來排序視圖的內容。其中含有許多好用的快速功能表動作。您可以比較建置和作為其建置來源的串流,或從建置來建立新串流(如果要從經過證明的程式碼庫來建立新程式碼庫,這頗有助益)。

「建置結果」視圖

您也可以在 Web 型 Jazz 儀表板中定義一個建置 Viewlet,以檢視建置結果:

Web 型 Jazz 儀表板建置結果

Jazz 開發團隊自訂其建置程序已有一段時間。Jazz 的建置結果編輯器含有額外的編譯JUnit下載項目標籤, 以及外部鏈結。以下畫面擷取自 Jazz 建置,您可以從中看出一些端倪。

自訂的建置結果範例

課程檢查點

在本課程中,您已學習 Jazz Team Build 功能的基本觀念。
< 上一個課程 | 下一個課程 >

意見

以上說明對您有幫助嗎?您可以在 Jazz.net 網站中提供意見(需要登錄):在討論區中提供意見提交錯誤