教學課程:設定CI/CD管道以與 Rocket Enterprise Developer (先前稱為 Micro Focus Enterprise Developer) 搭配使用 - AWS 大型主機現代化

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

教學課程:設定CI/CD管道以與 Rocket Enterprise Developer (先前稱為 Micro Focus Enterprise Developer) 搭配使用

本教學課程說明如何在 Rocket Enterprise Developer 中匯入、編輯、編譯和執行 BankDemo 範例應用程式,然後遞交變更以觸發CI/CD管道。

先決條件

下載下列檔案。

每個檔案的用途如下:

basic-infra.yaml

此 AWS CloudFormation 範本會建立CI/CD管道所需的基本基礎設施:VPC、Amazon S3 儲存貯體等。

pipeline.yaml

Lambda 函數使用此 AWS CloudFormation 範本來啟動管道堆疊。請確定此範本位於可公開存取的 Amazon S3 儲存貯體中。新增此儲存貯體的連結做為basic-infra.yaml範本中 PipelineTemplateURL參數的預設值。

m2-code-sync-function.zip

此 Lambda 函數會根據 建立 CodeCommit 儲存庫、目錄結構config_git.yaml,並使用 啟動管道堆疊pipeline.yaml。請確認此 zip 檔案可在支援 AWS Mainframe Modernization 的所有 中公開存取 AWS 區域 的 Amazon S3 儲存貯體中使用。我們建議您將檔案存放在一個儲存貯體中, AWS 區域 並將它複寫到所有儲存貯體 AWS 區域。使用 儲存貯體的命名慣例搭配識別特定 AWS 區域 (例如m2-cicd-deployment-source-eu-west-1,) 的尾碼,並將字首新增m2-cicd-deployment-source為參數DeploymentSourceBucket的預設值,並使用 AWS CloudFormation 替代函數形成完整儲存貯體,!Sub {DeploymentSourceBucket}-${AWS::Region}同時在資源 的basic-infra.yaml範本中參考該儲存貯體SourceSyncLambdaFunction

config_git.yml

CodeCommit 目錄結構定義。如需詳細資訊,請參閱YAML 觸發檔案 config_git.yml 範例

BANKDEMO-source.zip.

從 CodeCommit 儲存庫建立的 BankDemo 原始程式碼和組態檔案。

BANKDEMO-exercise.zip.

從 CodeCommit 儲存庫建立的教學練習的 BankDemo 來源。

建立CI/CD管道基本基礎設施

使用 AWS CloudFormation 範本basic-infra.yaml透過 AWS CloudFormation 主控台建立 CI/CD 管道基本基礎設施堆疊。此堆疊會建立 Amazon S3 儲存貯體,您可以在其中上傳應用程式程式碼和資料,以及支援 AWS Lambda 函數,以建立其他必要的資源,例如 AWS CodeCommit 儲存庫和 AWS CodePipeline 管道。

注意

若要啟動此堆疊,您需要管理 IAM、Amazon S3、Lambda 和 AWS CloudFormation 的許可才能使用 AWS KMS。

  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 使用以下選項之一建立新的堆疊:

    • 選擇 Create Stack (建立堆疊)。如果您目前有堆疊正在執行,這是「唯一的」選項。

    • 堆疊頁面上,選擇建立堆疊。只有當無堆疊執行時才看得到此選項。

  3. 指定範本頁面上:

    • 準備範本中,選擇範本已就緒

    • 指定範本中,選擇 Amazon S3 URL 做為範本來源,然後根據您的 輸入下列其中一個 URLs AWS 區域。

      • https://m2-us-east-1.s3.us-east-1.amazonaws.com/cicd/mf/basic-infra.yaml

      • https://m2-eu-central-1.s3.eu-central-1.amazonaws.com/cicd/mf/basic-infra.yaml

    • 若要接受您的設定,請選擇下一步

    建立堆疊頁面隨即開啟。

    已填入 AWS Mainframe Modernization 值的堆疊詳細資訊頁面。

    進行下列變更:

    • 網路組態堆疊名稱和參數提供適當的值。

    • 部署組態中的大多數參數都會預先適當填入,因此您不需要修改它們。根據您的 AWS 區域,將管道 AWS CloudFormation 範本變更為下列其中一個 Amazon S3 URLs。

      • https://m2-us-east-1.s3.amazonaws.com/cicd/mf/pipeline.yaml

      • https://m2-eu-central-1.s3.eu-central-1.amazonaws.com/cicd/mf/pipeline.yaml

    • 選擇下一步

    注意

    除非您已自行修改 AWS CloudFormation 範本,否則請勿變更預設參數值。

  4. 設定堆疊選項中,選擇下一步

  5. 功能中,選擇我確認 AWS CloudFormation 可能會建立 IAM 資源,以允許 代表您建立 IAM 角色 AWS CloudFormation 的許可。選擇建立堆疊

    注意

    佈建此堆疊可能需要 3 到 5 分鐘。

  6. 成功建立堆疊後,導覽至新佈建堆疊的輸出區段。您可以在 Amazon S3 儲存貯體中找到您需要上傳大型主機程式碼和相依檔案的儲存貯體。

    AWS CloudFormation 輸出索引標籤,顯示 Amazon S3 儲存貯體。

建立 AWS CodeCommit 儲存庫和CI/CD管道

在此步驟中,您會呼叫 Lambda 函數來建立 CodeCommit 儲存庫並佈建CI/CD管道堆疊,該函數會呼叫 AWS CloudFormation 來建立管道堆疊。

  1. BankDemo 範例應用程式下載到您的本機電腦。

  2. bankdemo.zip 從本機電腦上傳到 中建立的 Amazon S3 儲存貯體建立CI/CD管道基本基礎設施

  3. 下載 config_git.yml

  4. config_git.yml 視需要修改 ,如下所示:

    • 新增您自己的目標儲存庫名稱、目標分支和遞交訊息。

      repository-config: target-repository: bankdemo-repo target-branch: main commit-message: Initial commit for bankdemo-repo main branch
    • 新增您要接收通知的電子郵件地址。

      pipeline-config: # Send pipeline failure notifications to these email addresses alert-notifications: - myname@mycompany.com # Send notifications for manual approval before production deployment to these email addresses approval-notifications: - myname@mycompany.com
  5. 將包含 CodeCommit 儲存庫資料夾結構定義的config_git.yml檔案上傳至 中建立的 Amazon S3 儲存貯體建立CI/CD管道基本基礎設施。這將調用 Lambda 函數,以自動佈建儲存庫和管道。

    這會建立 CodeCommit 儲存庫,其名稱在 config_git.yml 檔案中target-repository定義的 中提供,例如 bankdemo-repo

    Lambda 函數也會透過 建立CI/CD管道堆疊 AWS CloudFormation。 AWS CloudFormation 堆疊的字首會與提供target-repository的名稱相同,後面接著隨機字串 (例如 bankdemo-repo-01234567。您可以在 管理主控台中找到 AWS CodeCommit 儲存庫 URL 和 URL,以存取建立的管道。

    AWS CloudFormation 輸出索引標籤顯示 CodeCommit 儲存庫和 CodePipeline 的端點。
  6. 如果 CodeCommit 儲存庫建立完成,將立即觸發CI/CD管道以執行完整的 CI/CD。

  7. 推送檔案後,它將自動觸發管道,該管道將建置、在預備階段部署、執行一些測試並等待手動核准,然後再將其部署在生產環境中。

YAML 觸發檔案 config_git.yml 範例

repository-config: target-repository: bankdemo-repo target-branch: main commit-message: Initial commit for bankdemo-repo main branch directory-structure: - '/': files: - build.xml - '*.yaml' - '*.yml' - '*.xml' - 'LICENSE.txt' readme: | # Root Folder - 'build.xml' : Build configuration for the application - tests: files: - '*.py' readme: | # Test Folder - '*.py' : Test scripts - config: files: - 'BANKDEMO.csd' - 'BANKDEMO.json' - 'BANKDEMO_ED.json' - 'dfhdrdat' - 'ESPGSQLXA.dll' - 'ESPGSQLXA64.so' - 'ESPGSQLXA64_S.so' - 'EXTFH.cfg' - 'm2-2021-04-28.normal.json' - 'MFDBFH.cfg' - 'application-definition-template-config.json' readme: | # Config Folder This folder contains the application configuration files. - 'BANKDEMO.csd' : CICS Resource definitions export file - 'BANKDEMO.json' : Enterprise Server configuration - 'BANKDEMO_ED.json' : Enterprise Server configuration for ED - 'dfhdrdat' : CICS resource definition file - 'ESPGSQLXA.dll' : XA switch module Windows - 'ESPGSQLXA64.so' : XA switch module Linux - 'ESPGSQLXA64_S.so' : XA switch module Linux - 'EXTFH.cfg' : Micro Focus File Handler configuration - 'm2-2021-04-28.normal.json' : M2 request document - 'MFDBFH.cfg' : Micro Focus Database File Handler - 'application-definition-template-config.json' : Application definition for M2 - source: subdirs: - .settings: files: - '.bms.mfdirset' - '.cbl.mfdirset' - copybook: files: - '*.cpy' - '*.inc' readme: | # Copy folder This folder contains the source for COBOL copy books, PLI includes, ... - .cpy COBOL copybooks - .inc PLI includes # - ctlcards: # files: # - '*.ctl' # - 'KBNKSRT1.txt' # readme: | # # Control Card folder # This folder contains the source for Batch Control Cards # - .ctl Control Cards - ims: files: - '*.dbd' - '*.psb' readme: | # ims folder This folder contains the IMS DB source files with the extensions - .dbd for IMS DBD source - .psb for IMS PSB source - jcl: files: - '*.jcl' - '*.ctl' - 'KBNKSRT1.txt' - '*.prc' readme: | # jcl folder This folder contains the JCL source files with the extensions - .jcl # - proclib: # files: # - '*.prc' # readme: | # # proclib folder # This folder contains the JCL procedures referenced via PROCLIB statements in the JCL with extensions # - .prc - rdbms: files: - '*.sql' readme: | # rdbms folder This folder contains any DB2 related source files with extensions - .sql for any kind of SQL source - screens: files: - '*.bms' - '*.mfs' readme: | # screens folder This folder contains the screens source files with the extensions - .bms for CICS BMS screens - .mfs for IMS MFS screens subdirs: - .settings: files: - '*.bms.mfdirset' - cobol: files: - '*.cbl' - '*.pli' readme: | # source folder This folder contains the program source files with the extensions - .cbl for COBOL source - .pli for PLI source subdirs: - .settings: files: - '*.cbl.mfdirset' - tests: files: - 'test_script.py' readme: | # tests Folder This folder contains the application test scripts pipeline-config: alert-notifications: - myname@mycompany.com approval-notifications: - myname@mycompany.com

建立企業開發人員 AppStream 2.0

若要在 AppStream 2.0 上設定 Rocket Enterprise Developer,請參閱 教學課程:在 AppStream 2.0 上設定 Rocket Enterprise Developer

若要將 CodeCommit 儲存庫連線至企業開發人員,請使用 target-repository中指定的名稱YAML 觸發檔案 config_git.yml 範例

企業開發人員設定和測試

連線至您在 中建立的企業開發人員 AppStream 2建立企業開發人員 AppStream 2.0.0 執行個體。

  1. 從 Windows Start 啟動企業開發人員。選擇 Micro Focus Enterprise Developer,然後選擇 Enterprise Developer for Eclipse。如果您是第一次啟動,可能需要一些時間。

  2. 在 Eclipse Launcher 的工作區中:輸入 C:\Users\<username>\workspace,然後選擇啟動

    注意

    請務必在重新連線至 AppStream 2.0 執行個體後選擇相同的位置。工作區選擇不是持久性的。

  3. 歡迎中,選擇開啟 COBOL 觀點。這只會在新工作區第一次顯示。

在企業開發人員中複製 BankDemo CodeCommit 儲存庫

  1. 選擇視窗/觀點/開放觀點/其他... / Git

  2. 選擇複製 Git 儲存庫

  3. 複製 Git 儲存庫中,輸入下列資訊:

    • 位置 URI 中,輸入 CodeCommit 儲存庫的 HTTPS URL。

      注意

      在 AWS 管理主控台中複製 CodeCommit 儲存庫的複製 URL HTTPS,並將其貼到這裡。URI 會分割為主機儲存庫路徑。

    • 驗證使用者密碼中的使用者 CodeCommit 儲存庫登入資料,然後選擇存放在安全存放區。

  4. 分支選取中,選擇主要分支,然後選擇下一步

  5. 本機目的地目錄中,輸入 C:\Users\<username>\workspace並選擇完成

    Git 儲存庫檢視中顯示 BANKDEMO [main] 時,複製程序即完成。

建立 BankDemo 大型主機 COBOL 專案並建置應用程式

  1. 變更為 COBOL 觀點

  2. 專案中,停用自動建置

  3. 檔案中,選擇新增,然後選擇大型主機 COBOL 專案

  4. 新的大型主機 COBOL 專案中,輸入下列資訊:

    • 專案名稱中,輸入 BankDemo

    • 選擇 Micro Focus 範本 【64 位元】

    • 選擇 Finish (完成)。

  5. COBOL Explorer 中,展開新的 BankDemo 專案。

    注意

    [BANKDEMO main] 方括號中的 表示專案已與本機 BankDemo CodeCommit 儲存庫連線。

  6. 如果樹狀檢視未顯示 COBOL 程式、複製手冊、BMS 來源和 JCL 檔案的項目,請從 BankDemo 專案內容功能表中選擇重新整理

  7. 從 BankDemo 內容功能表中,選擇屬性/微型焦點/專案設定/COBOL

    • 選擇字元集 - ASCII

    • 選擇套用,然後選擇關閉

  8. 如果建置的 Adobe 和 COBOL 來源未立即開始,請在專案功能表中檢查是否已啟用自動建置選項。

    組建輸出將顯示在主控台檢視中,並應在幾分鐘後完成訊息 BUILD SUCCESSFULBuild finished with no errors

    現在應編譯 BankDemo 應用程式,並準備好進行本機執行。

建立本機 BankDemo CICS 和批次環境進行測試

  1. COBOL Explorer 中,展開 BANKDEMO / config

  2. 在編輯器中,開啟 BANKDEMO_ED.json

  3. 尋找指向企業開發人員專案的字串ED_Home=和變更路徑,如下所示:D:\\<username>\\workspace\\BANKDEMO。請注意,在路徑定義中使用雙斜線 (\\)。

  4. 儲存並關閉檔案。

  5. 選擇 Server Explorer

  6. 預設內容功能表中,選擇開啟管理頁面。Micro Focus Enterprise Server 管理頁面會在預設瀏覽器中開啟。

  7. 僅限 AppStream 2.0 工作階段,請進行下列變更,以便保留本機企業伺服器區域以進行本機測試:

    • 目錄伺服器/預設中,選擇 PROPERTIES/Configure

    • 儲存庫位置取代為 D:\<username>\My Files\Home Folder\MFDS

    注意

    每次新的 AppStream 2.0 執行個體連線後,您都必須完成步驟 5 - 8。

  8. 目錄伺服器/預設中,選擇匯入,然後完成下列步驟:

    • 步驟 1:匯入類型中,選擇 JSON,然後選擇下一步

    • 步驟 2:上傳中,按一下以藍色方塊上傳檔案。

    • 選擇要上傳的檔案中,輸入:

      • 檔案名稱:D:\<username>\workspace\BANKDEMO\config\BANKDEMO_ED.json

      • 選擇 Open (開啟)。

    • 選擇下一步

    • 步驟 3:區域清除來自端點的清除連接埠

    • 選擇下一步

    • 步驟 4:匯入中,選擇匯入

    • 選擇 Finish (完成)。

    清單現在會顯示新的伺服器名稱 BANKDEMO

從企業開發人員啟動 BANKDEMO 伺服器

  1. 選擇企業開發人員

  2. Server Explorer 中,選擇預設,然後從內容功能表中選擇重新整理

    伺服器清單現在也應該顯示 BANKDEMO。

  3. 選擇 BANKDEMO

  4. 從內容功能表中,選擇與專案建立關聯,然後選擇 BANKDEMO

  5. 從內容功能表中,選擇開始

    主控台檢視應會顯示伺服器啟動的日誌。

    如果BANKDEMO CASSI5030I PLTPI Phase 2 List(PI) Processing Completed顯示訊息,表示伺服器已準備好測試 CICS BANKDEMO 應用程式。

啟動 Rumba 3270 終端機

  1. 從 Windows Start 啟動 Micro Focus Rumba+ 桌面/Rumba+ 桌面。

  2. 歡迎中,選擇建立新工作階段/大型主機顯示

  3. 大型主機顯示中,選擇連線/設定

  4. 工作階段組態中,選擇連線/TN3270

  5. 主機名稱/地址中,選擇插入並輸入 IP 地址 127.0.0.1

  6. Telnet 連接埠中,輸入連接埠 6000

  7. 選擇套用

  8. 選擇連線

    CICS 歡迎畫面會顯示包含第 1 列訊息的畫面:This is the Micro Focus MFE CICS region BANKDEMO

  9. 按 CTRL+Shift+Z 清除畫面。

執行 BankDemo 交易

  1. 在空白畫面中,輸入 BANK

  2. 在畫面 BANK10 中,在使用者 ID.....: 的輸入欄位中,輸入 guest,然後按 Enter。

  3. 在畫面 BANK20 中,在計算貸款成本前的輸入欄位中,輸入 /(正斜線) 並按下 Enter。

  4. 在畫面 BANK70 中:

    • 在您想要借用的金額中...:,輸入 10000

    • 中,以 的利率: 輸入 5.0

    • 中,對於幾個月......::,輸入 10

    • 按 Enter。

    應顯示下列結果:

    Resulting monthly payment.............: $1023.06

    這會在企業開發人員中完成 BANKDEMO 應用程式設定。

從企業開發人員停止 BANKDEMO 伺服器

  1. Server Explorer 中,選擇預設,然後從內容功能表中選擇重新整理

  2. 選擇 BANKDEMO

  3. 從內容功能表中,選擇停止

    主控台檢視應顯示伺服器停止的日誌。

    如果Server: BANKDEMO stopped successfully顯示訊息,表示伺服器已成功關閉。

練習 1:增強 BANKDEMO 應用程式中的貸款計算

在此案例中,您將逐步完成對程式碼進行範例變更、部署和測試的程序。

貸款部門希望貸款計算畫面上的新欄位 BANK70 顯示總貸款金額。這需要變更 Adobe 畫面 MBANK70.CBL,新增新的欄位和對應的畫面處理程式 SBANK70P.CBL 與相關的複製手冊。此外,BBANK70P.CBL 中的貸款計算常式需要透過額外的公式延伸。

若要完成此練習,請務必完成下列先決條件。

  • 下載 BANKDEMO-exercise.zipD:\PhotonUser\My Files\Home Folder

  • 將 zip 檔案解壓縮至 D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise

  • 建立資料夾 D:\PhotonUser\My Files\Home Folder\AnalysisRules

  • 將規則檔案Loan+Calculation+Update.General-1.xmlBANKDEMO-exercise 資料夾複製到 D:\PhotonUser\My Files\Home Folder\AnalysisRules

注意

*.CBL 和 *.CPY 中的程式碼變更會在本練習的第 1 - 6 欄中以 EXER01 標示。

將貸款分析規則新增至企業開發人員程式碼分析

Rocket Enterprise Analyzer 中定義的分析規則可以從 Enterprise Analyzer 匯出,並匯入企業開發人員,以在企業開發人員專案的來源上執行相同的分析規則。

  1. 打開 Window/Preferences/Micro Focus/COBOL/Code Analysis/Rules.

  2. 選擇編輯...,然後輸入D:\PhotonUser\My Files\Home Folder\AnalysisRules包含規則檔案 的資料夾名稱Loan+Calculation+Update.General-1.xml

  3. 選擇 Finish (完成)。

  4. 選擇套用,然後選擇關閉

  5. 從 BANKDEMO 專案內容功能表中,選擇程式碼分析

    您應該會看到貸款計算更新的項目。

步驟 1:執行貸款計算的程式碼分析

使用新的分析規則,我們希望識別符合搜尋模式 的 COBOL 程式和程式碼行*PAYMENT**LOAN*以及*RATE*表達式、陳述式和變數。這將有助於導覽程式碼並識別必要的程式碼變更。

  1. 從 BANKDEMO 專案內容功能表中,選擇程式碼分析/貸款計算更新

    這將執行搜尋規則,並在稱為程式碼分析的新標籤中列出結果。當右下角的綠色進度列消失時,分析執行即完成。

    程式碼分析索引標籤應會顯示展開的 BBANK20P.CBLBBANK70P.CBL和 清單SBANK70P.CBL,每個清單都會列出符合搜尋模式的陳述式、表達式和變數。

    查看 的結果BBANK20P.CBL,只有已移動的常值符合搜尋模式。因此,可以忽略此程式。

  2. 在索引標籤選單列中,選擇 - 圖示以全部摺疊。

  3. 只要按兩下,即可展開SBANK70P.CBL並選取任何順序的行,查看這會如何開啟來源,並反白在來源碼中選取的行。您也將識別所有已識別的來源行都已標記。

步驟 2:修改 CICSMS 映射和 COBOL 程式和測試

首先,我們將變更 Adobe 地圖MBANK70.BMS和畫面處理程式SBANK70P.CBL和複製手冊CBANKDAT.CPY,以顯示新欄位。為了避免在本練習中不必要的編碼,修改後的來源模組可在 D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01 資料夾中使用。一般而言,開發人員會使用程式碼分析結果來導覽和修改來源。如果您有時間和 ,並且想要手動變更,請使用 MBANK70.BMS 和 SBANK70P.CBL (選用)* 中 *手動變更中提供的資訊來執行。

如需快速變更,請複製下列檔案:

  1. ..\BANKDEMO-exercise\Exercis01\screens\MBANK70.BMSD:\PhotonUser\workspace\bankdemo\source\screens

  2. .\BANKDEMO-exercise\Exercis01\cobol\SBANK70P.CBLD:\PhotonUser\workspace\bankdemo\source\cobol

  3. ..\BANKDEMO-exercise\Exercis01\copybook\CBANKDAT.CPYD:\PhotonUser\workspace\bankdemo\source\copybook

  4. 若要確保所有受變更影響的程式都已編譯,請選擇專案/清除.../清除所有專案

如需手動變更 MBANK70.BMSSBANK70P.CBL,請完成下列步驟:

  • 對於在 PAYMENT 欄位中MBANK70.BMS新增的手動變更,請執行下列動作:

    • 具有與 TXT08 相同屬性和 INITIAL 值「貸款金額總計」的 TXT09 TXT08

    • 具有與 付款相同屬性的總計

測試變更

若要測試變更,請重複下列各節中的步驟:

  1. 從企業開發人員啟動 BANKDEMO 伺服器

  2. 啟動 Rumba 3270 終端機

  3. 執行 BankDemo 交易

    此外,您現在也應該會看到文字 Total Loan Amount.....................:

  4. 從企業開發人員停止 BANKDEMO 伺服器

步驟 3:在 COBOL 程式中新增總金額計算

在第二個步驟中,我們將變更BBANK70P.CBL並新增總貸款金額的計算。D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01 資料夾中提供具有必要變更的預備來源。如果您有時間並想要手動變更,請使用 BBANK70P.CBL (選用)* 中 *手動變更中提供的資訊進行變更。

如需快速變更,請複製下列檔案:

  • ..\BANKDEMO-exercise\Exercis01\source\cobol\BBANK70P.CBLD:\PhotonUser\workspace\bankdemo\source\cobol

若要手動變更 BBANK70P.CBL,請完成下列步驟:

  • 使用程式碼分析結果來識別必要的變更。

測試變更

若要測試變更,請重複下列各節中的步驟:

  1. 從企業開發人員啟動 BANKDEMO 伺服器

  2. 啟動 Rumba 3270 終端機

  3. 執行 BankDemo 交易

    此外,您現在也應該會看到文字 Total Loan Amount.....................: $10230.60

  4. 從企業開發人員停止 BANKDEMO 伺服器

步驟 4:遞交變更並執行 CI/CD 管道

將變更遞交至中央 CodeCommit 儲存庫,並觸發CI/CD管道來建置、測試和部署變更。

  1. 從 BANKDEMO 專案的內容選單中,選擇團隊/承諾

  2. Git 預備索引標籤中,輸入下列遞交訊息:Added Total Amount Calculation

  3. 選擇遞交和推送...

  4. 開啟 CodePipeline 主控台並檢查管道執行的狀態。

    注意

    如果您遇到企業開發人員或團隊函數遞交或推送的任何問題,請使用 Git Bash 命令列界面。

練習 2:在 BankDemo 應用程式中擷取貸款計算

在接下來的練習中,您會處理另一個變更請求範例。在此案例中,貸款部門想要將貸款計算常式重複使用為獨立的 WebService。常式應保留在 COBOL 中,並且仍應可從現有的 CICS COBOL 程式 呼叫BBANK70P.CBL

步驟 1:將貸款計算常式重構為 COBOL 區段

在第一個步驟中,我們將貸款計算常式擷取至 COBOL 區段。在下一個步驟中,需要此步驟才能將程式碼擷取到獨立的 COBOL 程式。

  1. 在 COBOL 編輯器BBANK70P.CBL中開啟 。

  2. 在編輯器中,從內容選單中選擇程式碼分析/貸款計算更新。這只會掃描目前來源中分析規則中定義的模式。

  3. 程式碼分析標籤的結果中,尋找第一個算術陳述式 DIVIDE WS-LOAN-INTEREST BY 12

  4. 按兩下 陳述式以導覽至編輯器中的來源行。這是貸款計算常式的第一個陳述式。

  5. 標記下列程式碼區塊,以便將貸款計算常式擷取至區段。

    DIVIDE WS-LOAN-INTEREST BY 12 GIVING WS-LOAN-INTEREST ROUNDED. COMPUTE WS-LOAN-MONTHLY-PAYMENT ROUNDED = ((WS-LOAN-INTEREST * ((1 + WS-LOAN-INTEREST) ** WS-LOAN-TERM)) / (((1 + WS-LOAN-INTEREST) * WS-LOAN-TERM) - 1 )) * WS-LOAN-PRINCIPAL. EXER01 COMPUTE WS-LOAN-TOTAL-PAYMENT = EXER01 (WS-LOAN-MONTHLY-PAYMENT * WS-LOAN-TERM).
  6. 在編輯器的內容選單中,選擇重構/擷取至區段...

  7. 輸入新區段名稱:LOAN-CALCULATION

  8. 選擇確定。

    標記的程式碼區塊現在已擷取至新LOAN-CALCULATION區段,且程式碼區塊已取代為 PERFROM LOAN-CALCULATION陳述式。

測試變更

若要測試變更,請重複以下各節所述的步驟。

  1. 從企業開發人員啟動 BANKDEMO 伺服器

  2. 啟動 Rumba 3270 終端機

  3. 執行 BankDemo 交易

    此外,您現在也應該會看到文字 Total Loan Amount.....................: $10230.60

  4. 從企業開發人員停止 BANKDEMO 伺服器

    注意

    如果您想要避免上述步驟將程式碼區塊擷取至區段,您可以將步驟 1 的修改後來源從 複製到 ..\BANKDEMO-exercise\Exercis02\Step1\cobol\BBANK70P.CBL D:\PhotonUser\workspace\bankdemo\source\cobol

步驟 2:將貸款計算常式擷取至獨立 COBOL 程式

在步驟 2 中, LOAN-CALCULATION區段中的程式碼區塊將擷取至獨立程式,而原始程式碼將取代為程式碼,以呼叫新的子程式。

  1. 在編輯器BBANK70P.CBL中開啟 ,並尋找在步驟 1 中建立的新PERFORM LOAN-CALCULATION陳述式。

  2. 將游標放在區段名稱內。它會標示為灰色。

  3. 從內容功能表中,選取 Refactor->Extract Section/Paragraph to Program...

  4. 擷取區段/段落至程式中,輸入新的檔案名稱:LOANCALC.CBL

  5. 選擇確定

    LOANCALC.CBL程式將在編輯器中開啟。

  6. 向下捲動並檢閱要擷取和產生呼叫界面的程式碼。

  7. 選取具有 的編輯器BBANK70P.CBL,然後移至 LOAN-CALCULATION SECTION。檢閱正在產生的程式碼,以呼叫新的子程式 LOANCALC.CBL

    注意

    CALL 陳述式使用 DFHEIBLKDFHCOMMAREALOANCALC呼叫 CICS 控制區塊。因為我們想要將新的LOANCALC.CBL子程式呼叫為非 CICS 程式,所以我們必須透過註解或刪除,從呼叫中移除 DFHEIBLKDFHCOMMAREA

測試變更

若要測試變更,請重複以下各節所述的步驟。

  1. 從企業開發人員啟動 BANKDEMO 伺服器

  2. 啟動 Rumba 3270 終端機

  3. 執行 BankDemo 交易

    此外,您現在也應該會看到文字 Total Loan Amount.....................: $10230.60

  4. 從企業開發人員停止 BANKDEMO 伺服器

    注意

    如果您想要避免上述步驟將程式碼區塊擷取至區段,您可以將步驟 1 的修改後來源從 ..\BANKDEMO-exercise\Exercis02\Step2\cobol\BBANK70P.CBL和 複製到 LOANCALC.CBL D:\PhotonUser\workspace\bankdemo\source\cobol

步驟 3:遞交變更並執行CI/CD管道

將變更遞交至中央 CodeCommit 儲存庫,並觸發CI/CD管道來建置、測試和部署變更。

  1. 在 BANKDEMO 專案的內容選單中,選擇團隊/承諾

  2. Git 預備索引標籤中

    • 未暫存階段 LOANCALC.CBLLOANCALC.CBL.mfdirset 中新增

    • 輸入遞交訊息:Added Total Amount Calculation

  3. 選擇遞交和推送...

  4. 開啟 CodePipeline 主控台並檢查管道執行的狀態。

    注意

    如果您遇到企業開發人員或團隊函數遞交或推送的任何問題,請使用 Git Bash 命令列界面。

清除資源

如果您不再需要為本教學課程建立的資源,請將其刪除,這樣就不會繼續收取這些資源的費用。請完成下列步驟: