튜토리얼: Micro Focus Enterprise Developer와 함께 사용할 CI/CD 파이프라인 설정 - AWS 메인프레임 현대화

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

튜토리얼: Micro Focus Enterprise Developer와 함께 사용할 CI/CD 파이프라인 설정

이 자습서에서는 Micro Focus Enterprise Developer에서 BankDemo 샘플 애플리케이션을 가져오고, 편집하고, 컴파일하고, 실행한 다음 변경 사항을 커밋하여 CI/CD 파이프라인을 트리거하는 방법을 보여줍니다.

사전 조건

다음 파일을 다운로드하십시오.

각 파일의 용도는 다음과 같습니다.

basic-infra.yaml

이 AWS CloudFormation 템플릿은 CI/CD 파이프라인에 필요한 기본 인프라 (Amazon S3 버킷 등) 를 생성합니다. VPC

pipeline.yaml

이 AWS CloudFormation 템플릿은 Lambda 함수에서 파이프라인 스택을 시작하는 데 사용됩니다. 이 템플릿이 공개적으로 액세스할 수 있는 Amazon S3 버킷에 있어야 합니다. 이 버킷에 대한 링크를 basic-infra.yaml 템플릿의 PipelineTemplateURL 파라미터 기본값으로 추가합니다.

m2-code-sync-function.zip

이 Lambda 함수는 를 기반으로 하는 디렉토리 CodeCommit 구조인 리포지토리를 생성하고 를 사용하여 config_git.yaml 파이프라인 스택을 시작합니다. pipeline.yaml AWS 메인프레임 현대화가 지원되는 모든 지역에서 공개적으로 액세스할 수 AWS 리전 있는 Amazon S3 버킷에서 이 zip 파일을 사용할 수 있는지 확인하십시오. 파일을 하나의 AWS 리전 버킷에 저장하고 전체 버킷에 복제하는 것이 좋습니다. AWS 리전특정 항목을 식별하는 접미사가 포함된 버킷의 이름 지정 규칙 AWS 리전 (예:m2-cicd-deployment-source-eu-west-1) 을 사용하고, 접두사를 매개변수의 m2-cicd-deployment-source DeploymentSourceBucket 기본값으로 추가하고, 리소스용 템플릿에서 해당 버킷을 !Sub {DeploymentSourceBucket}-${AWS::Region} 참조하면서 AWS CloudFormation 대체 함수를 사용하여 전체 버킷을 구성하십시오. basic-infra.yaml SourceSyncLambdaFunction

config_git.yml

CodeCommit 디렉터리 구조 정의. 자세한 내용은 샘플 트리거 파일 config_git.yml YAML 단원을 참조하십시오.

BANKDEMO-source.zip.

BankDemo CodeCommit리포지토리에서 생성된 소스 코드 및 구성 파일.

BANKDEMO-exercise.zip.

BankDemo CodeCommit 리포지토리에서 만든 튜토리얼 연습 소스입니다.

CI/CD 파이프라인 기본 인프라 생성

AWS CloudFormation 템플릿을 사용하여 basic-infra.yaml 콘솔을 통해 CI/CD 파이프라인 기본 인프라 스택을 만들 수 있습니다. AWS CloudFormation 이 스택은 애플리케이션 코드와 데이터를 업로드하는 Amazon S3 버킷과 AWS CodeCommit 리포지토리 및 AWS CodePipeline 파이프라인과 같은 기타 필수 리소스를 생성하는 지원 AWS Lambda 함수를 생성합니다.

참고

이 스택을 시작하려면 Amazon S3IAM, Lambda를 관리할 수 있는 AWS CloudFormation 권한과 사용할 수 있는 권한이 필요합니다. AWS KMS

  1. 에 AWS Management Console 로그인하고 /cloudformation에서 AWS CloudFormation 콘솔을 엽니다. https://console.aws.amazon.com

  2. 다음 옵션 중 하나를 사용하여 새 스택을 만듭니다.

    • 스택 생성을 선택합니다. 현재 실행 중인 스택이 있는 경우에는 이 옵션이 유일한 옵션입니다.

    • Stacks(스택) 페이지에서 Create Stack(스택 생성)을 선택합니다. 현재 실행 중인 스택이 없는 경우에만 이 옵션이 표시됩니다.

  3. 템플릿 지정 페이지에서:

    • Prepare template(템플릿 준비)에서 Template is ready(템플릿 준비가 완료되었습니다)를 선택합니다.

    • 템플릿 지정에서 Amazon URL S3를 템플릿 소스로 선택하고 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

    • 설정을 수락하려면 Next(다음)를 선택합니다.

    스택 생성 페이지가 열립니다.

    AWS 메인프레임 현대화 값이 채워진 스택 세부 정보 페이지

    다음과 같이 변경합니다.

    • 네트워킹 구성스택 이름 및 매개 변수에 적절한 값을 제공하세요.

    • 배포 구성의 대부분의 파라미터는 적절하게 미리 채워지므로 수정할 필요가 없습니다. 필요에 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

    • Next(다음)를 선택합니다.

    참고

    AWS CloudFormation 템플릿을 직접 수정하지 않은 이상 기본 파라미터 값을 변경하지 마십시오.

  4. 스택 옵션 구성에서 다음을 선택합니다.

  5. 기능에서 사용자 대신 IAM 역할을 생성할 AWS CloudFormation 수 있는 권한을 허용하는 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. 로컬 시스템에서 CI/CD 파이프라인 기본 인프라 생성에서 생성한 Amazon S3 버킷으로 bankdemo.zip를업로드합니다.

  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. 에서 생성한 Amazon S3 버킷에 CodeCommit 리포지토리 폴더 구조의 정의가 포함된 config_git.yml 파일을 CI/CD 파이프라인 기본 인프라 생성 업로드합니다. 그러면 리포지토리와 파이프라인을 자동으로 프로비저닝하는 Lambda 함수가 직접적으로 호출됩니다.

    그러면 config_git.yml 파일에 target-repository 정의된 이름으로 CodeCommit 리포지토리가 생성됩니다 (예:)bankdemo-repo.

    또한 Lambda 함수는 를 통해 CI/CD 파이프라인 스택을 생성합니다. AWS CloudFormation AWS CloudFormation 스택에는 제공된 target-repository 이름과 동일한 접두사가 있고 그 뒤에 임의의 문자열이 옵니다(예: bankdemo-repo-01234567. 관리 콘솔에서 CodeCommit URL 리포지토리와 생성된 파이프라인에 액세스할 수 URL 있는 위치를 찾을 수 있습니다. AWS

    AWS CloudFormation CodeCommit 리포지토리의 엔드포인트를 보여주는 출력 탭 및 CodePipeline
  6. CodeCommit 리포지토리 생성이 완료되면 CI/CD 파이프라인이 즉시 트리거되어 전체 CI/CD를 수행합니다.

  7. 파일이 푸시되면 파이프라인이 자동으로 트리거되어 빌드하여 스테이징 단계에 배포하고 일부 테스트를 실행한 후 수동 승인을 기다린 후 프로덕션 환경에 배포합니다.

샘플 트리거 파일 config_git.yml YAML

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에서 Micro Focus 엔터프라이즈 개발자를 설정하려면 을 참조하십시오튜토리얼: AppStream 2.0 기반 마이크로 포커스 엔터프라이즈 개발자 설정.

CodeCommit 리포지토리를 엔터프라이즈 개발자에 연결하려면 target-repository 에 지정된 이름을 사용합니다샘플 트리거 파일 config_git.yml YAML.

Enterprise Developer 설치 및 테스트

에서 만든 엔터프라이즈 개발자 AppStream 2.0 인스턴스에 연결합니다엔터프라이즈 AppStream 디벨로퍼 2.0 제작.

  1. Windows 시작에서 Enterprise Developer를 시작합니다. Micro Focus Enterprise Developer를 선택한 다음 Eclipse용 Enterprise Developer를 선택합니다. 처음 시작하는 경우 시간이 좀 걸릴 수 있습니다.

  2. Eclipse 런처의 작업 영역에서: C:\Users\<username>\workspace를 입력한 다음 실행을 선택합니다.

    참고

    AppStream 2.0 인스턴스에 다시 연결한 후 동일한 위치를 선택해야 합니다. 작업 영역 선택은 영구적이지 않습니다.

  3. [웰컴] 에서 [오픈 COBOL 퍼스펙티브] 를 선택합니다. 이는 새 작업 공간의 경우 처음 표시될 때만 표시됩니다.

엔터프라이즈 디벨로퍼에서 BankDemo CodeCommit 리포지토리를 복제하십시오.

  1. Window / Perspective / Open Perspective / Other ... Git을 선택합니다.

  2. Git 리포지토리 복제를 선택합니다.

  3. Git 리포지토리 복제에 다음 정보를 입력합니다.

    • 위치에 URI HTTPS URL CodeCommit 저장소의 이름을 입력합니다.

      참고

      AWS 관리 콘솔에서 CodeCommit 리포지토리의 클론을 URL HTTPS 복사하여 여기에 붙여넣습니다. 호스트 경로와 리포지토리 경로로 URI 분할됩니다.

    • 인증 사용자 및 비밀번호의 사용자 CodeCommit 리포지토리 자격 증명을 선택하고 보안 저장소에 저장을 선택합니다.

  4. 브랜치 선택에서 메인 브랜치를 선택한 후 다음을 선택합니다.

  5. 로컬 대상디렉터리에서 C:\Users\<username>\workspace를 입력하고 마침을 선택합니다.

    BANKDEMO [main]Git 리포지토리 보기에 표시되면 복제 프로세스가 완료됩니다.

BankDemo 메인프레임 COBOL 프로젝트 생성 및 애플리케이션 구축

  1. 관점으로의 변화. COBOL

  2. 프로젝트에서 자동 빌드를 사용 중단합니다.

  3. 파일에서 새로 만들기를 선택한 다음 메인프레임 프로젝트를 COBOL 선택합니다.

  4. 새 메인프레임 COBOL 프로젝트에서 다음 정보를 입력합니다.

    • 프로젝트 이름BankDemo을 입력합니다.

    • Micro Focus 템플릿 [64비트]를 선택합니다.

    • 마침을 클릭합니다.

  5. COBOLExplorer에서 새 BankDemo 프로젝트를 확장합니다.

    참고

    [BANKDEMO main]대괄호 안은 프로젝트가 로컬 BankDemo CodeCommit 저장소와 연결되어 있음을 나타냅니다.

  6. 트리 뷰에 COBOL 프로그램, 카피북, BMS 소스 및 JCL 파일에 대한 항목이 표시되지 않는 경우 BankDemo 프로젝트 컨텍스트 메뉴에서 [새로 고침] 을 선택합니다.

  7. BankDemo 컨텍스트 메뉴에서 [속성]/[Micro Focus]/[프로젝트 설정] 을 선택합니다. COBOL

    • 문자 세트 선택 - ASCII.

    • Apply(적용)를 선택한 다음 OK(확인)를 선택합니다.

  8. BMS및 COBOL 소스의 빌드가 바로 시작되지 않는 경우, 프로젝트 메뉴에서 자동 빌드 옵션이 활성화되어 있는지 확인하십시오.

    빌드 출력은 콘솔 뷰에 표시되며 몇 분 후 BUILD SUCCESSFULBuild finished with no errors 메시지와 함께 완료될 것입니다.

    이제 BankDemo 애플리케이션을 컴파일하고 로컬에서 실행할 준비가 된 것입니다.

테스트를 위한 로컬 BankDemo CICS 및 배치 환경을 만드세요.

  1. COBOL탐색기에서 BANKDEMO / config 확장하십시오.

  2. 에디터에서 BANKDEMO_ED.json를 엽니다.

  3. ED_Home= 문자열을 찾아 D:\\<username>\\workspace\\BANKDEMO와 같이 Enterprise Developer 프로젝트를 가리키도록 경로를 변경합니다. 경로 정의에 이중 슬래시(\\)가 사용된다는 점에 유의하세요.

  4. 파일을 저장하고 닫습니다.

  5. 서버 탐색기를 선택합니다.

  6. 기본 컨텍스트 메뉴에서 관리 페이지 열기를 선택합니다. Micro Focus 엔터프라이즈 서버 관리 페이지는 기본 브라우저에서 열립니다.

  7. AppStream 2.0 세션의 경우에만 로컬 테스트를 위해 로컬 엔터프라이즈 서버 지역을 보존할 수 있도록 다음과 같이 변경하십시오.

    • 디렉토리 서버/기본값에서 PROPERTIES/구성을 선택합니다.

    • 리포지토리 위치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)를 선택합니다.

    • Next(다음)를 선택합니다.

    • 3단계: 리전에서 엔드포인트에서 포트 지우기를 수행합니다.

    • Next(다음)를 선택합니다.

    • 4단계: 가져오기에서 가져오기를 선택합니다.

    • 마침을 클릭합니다.

    이제 목록에 새 서버 이름 BANKDEMO이 표시됩니다.

엔터프라이즈 개발자에서 BANKDEMO 서버를 시작합니다.

  1. Enterprise Developer를 선택합니다.

  2. 서버 탐색기에서 기본값을 선택한 다음 컨텍스트 메뉴에서 새로 고침을 선택합니다.

    이제 서버 목록도 표시될 BANKDEMO 것입니다.

  3. 선택하세요 BANKDEMO.

  4. 컨텍스트 메뉴에서 [프로젝트와 연결] 을 선택한 다음 선택합니다 BANKDEMO.

  5. 컨텍스트 메뉴에서 시작을 선택합니다.

    콘솔 보기에는 서버 시작 로그가 표시되어야 합니다.

    메시지가 BANKDEMO CASSI5030I PLTPI Phase 2 List(PI) Processing Completed 표시되면 서버에서 CICS BANKDEMO 응용 프로그램을 테스트할 준비가 된 것입니다.

Rumba 3270 터미널을 시작합니다

  1. Windows 시작에서 Micro Focus Rumba+ 데스크탑/Rumba+ 데스크탑을 실행합니다.

  2. Welcome에서 CREATE NEWSESSION/메인프레임 디스플레이를 선택합니다.

  3. 메인프레임 디스플레이에서 연결/ 구성을 선택합니다.

  4. 세션 구성에서 Connection/TN3270을 선택합니다.

  5. 호스트 이름/주소에서 삽입을 선택하고 IP 주소 127.0.0.1를 입력합니다.

  6. 텔넷 포트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. 서버 탐색기에서 기본값을 선택한 다음 컨텍스트 메뉴에서 새로 고침을 선택합니다.

  2. 선택하세요 BANKDEMO.

  3. 컨텍스트 메뉴에서 중지를 선택합니다.

    콘솔 보기에는 서버 중지 로그가 표시되어야 합니다.

    Server: BANKDEMO stopped successfully 메시지가 표시되면 서버가 성공적으로 종료된 것입니다.

연습 1: BANKDEMO 애플리케이션 내 대출 계산 강화

이 시나리오에서는 코드에 샘플 변경을 적용하고, 코드를 배포하고, 테스트하는 프로세스를 단계별로 살펴봅니다.

대출 부서에서는 대출 계산 화면 BANK7 0에 총 대출 금액을 표시하는 새 필드를 만들려고 합니다. 이를 위해서는 BMS 화면 MBANK7 0을 변경해야 합니다. CBL, 새 필드 및 해당 화면 처리 프로그램 SBANK7 0P 추가 CBL관련 카피북과 함께. 또한 대출 계산 루틴은 BBANK7 0P입니다. CBL추가 공식을 사용하여 확장해야 합니다.

이 연습을 완료하려면 다음 사전 조건을 충족합니다.

  • BANKDEMO-exercise.zip 파일을 로 다운로드하십시오D:\PhotonUser\My Files\Home Folder.

  • D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise에 zip 파일의 압축을 풉니다.

  • D:\PhotonUser\My Files\Home Folder\AnalysisRules 폴더를 만듭니다.

  • BANKDEMO-exercise 폴더의 규칙 파일을 D:\PhotonUser\My Files\Home Folder\AnalysisRules로 복사합니다.

참고

*의 코드 변경. CBL그리고*. CPY이 연습에서는 1~6열에 EXER 01로 표시되어 있습니다.

Enterprise Developer 코드 분석에 대출 분석 규칙 추가

Micro Focus Enterprise Analyzer에 정의된 분석 규칙을 엔터프라이즈 분석기에서 내보낸 후 Enterprise Developer로 가져와서 Enterprise Developer 프로젝트의 소스에서 동일한 분석 규칙을 실행할 수 있습니다.

  1. Window/Preferences/Micro Focus/COBOL/Code Analysis/Rules를 엽니다.

  2. 편집...을 선택하고 Loan+Calculation+Update.General-1.xml 규칙 파일이 들어 있는 D:\PhotonUser\My Files\Home Folder\AnalysisRules 폴더 이름을 입력합니다.

  3. 마침을 클릭합니다.

  4. 적용을 선택한 다음 닫기를 선택합니다.

  5. BANKDEMO프로젝트 컨텍스트 메뉴에서 코드 분석을 선택합니다.

    대출 계산 업데이트 항목이 표시되어야 합니다.

1단계: 대출 계산을 위한 코드 분석 수행

새 분석 규칙을 사용하여 검색 패턴*PAYMENT*, 표현식, *LOAN* 명령문 및 변수와 일치하는 COBOL 프로그램과 코드 라인을 식별하려고 합니다. *RATE* 이렇게 하면 코드를 탐색하고 필요한 코드 변경을 식별하는 데 도움이 됩니다.

  1. BANKDEMO프로젝트 컨텍스트 메뉴에서 [코드 분석/대출 계산 업데이트] 를 선택합니다.

    그러면 검색 규칙이 실행되고 코드 분석이라는 새 탭에 결과가 나열됩니다. 오른쪽 하단의 녹색 진행률 표시줄이 사라지면 분석 실행이 완료됩니다.

    코드 분석 탭에는 검색 패턴과 일치하는 명령문, 식 및 변수를 나열하는 BBANK20P.CBL, BBANK70P.CBLSBANK70P.CBL의 확장된 목록이 표시되어야 합니다.

    BBANK20P.CBL의 결과를 보면 검색 패턴과 일치하는 이동된 리터럴만 있습니다. 따라서 이 프로그램은 무시할 수 있습니다.

  2. 탭 메뉴 막대에서 - 아이콘을 선택하면 모두 축소됩니다.

  3. 두 번 클릭하여 원하는 SBANK70P.CBL를 펼치고 순서대로 원하는 줄을 선택하면 소스가 어떻게 열리고 소스 코드에서 선택한 줄이 강조 표시되는지 확인할 수 있습니다. 식별된 소스 라인이 모두 표시되어 있는 것도 확인할 수 있습니다.

2단계: CICS BMS 맵 및 프로그램 수정 및 테스트 COBOL

먼저 BMS MBANK70.BMS 맵과 화면 처리 프로그램 SBANK70P.CBLCBANKDAT.CPY 카피북을 변경하여 새 필드를 표시합니다. 이 연습에서는 불필요한 코딩을 방지하기 위해 D:\PhotonUser\My Files\Home Folder\BANKDEMO-exercise\Exercise01 폴더에서 수정된 소스 모듈을 사용할 수 있습니다. 일반적으로 개발자는 코드 분석 결과를 사용하여 소스를 탐색하고 수정합니다. 시간이 있고 수동으로 변경하려면 *수동 변경 (0) 에 제공된 정보를 사용하여 수동으로 변경하십시오. MBANK7 BMS그리고 SBANK7 0P. CBL(선택 사항) *.

빠르게 변경하려면 다음 파일을 복사하세요.

  1. ..\BANKDEMO-exercise\Exercis01\screens\MBANK70.BMS ~ D:\PhotonUser\workspace\bankdemo\source\screens.

  2. .\BANKDEMO-exercise\Exercis01\cobol\SBANK70P.CBL ~ D:\PhotonUser\workspace\bankdemo\source\cobol.

  3. ..\BANKDEMO-exercise\Exercis01\copybook\CBANKDAT.CPY ~ D:\PhotonUser\workspace\bankdemo\source\copybook.

  4. 변경 사항의 영향을 받는 모든 프로그램이 컴파일되도록 하려면 프로젝트/...지우기/모든 프로젝트 지우기를 선택하세요.

MBANK70.BMSSBANK70P.CBL를 수동으로 변경하려면 다음 단계를 완료하세요.

  • BMSMBANK70.BMS소스를 수동으로 변경하려면 PAYMENT 필드 뒤에 추가하십시오.

    • TXTTXT08과 속성이 같고 INITIAL 값이 “총 대출 금액”인 09

    • TOTAL다음과 같은 속성 사용 PAYMENT

테스트 변경

변경 사항을 테스트하려면 다음 단계를 반복합니다.

  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 폴더에서 확인할 수 있습니다. 시간이 있고 수동으로 변경하려면 BBANK7 *0P의 수동 변경에 제공된 정보를 사용하여 수동으로 변경하십시오. CBL(선택 사항) *.

빠르게 변경하려면 다음 파일을 복사하세요.

  • ..\BANKDEMO-exercise\Exercis01\source\cobol\BBANK70P.CBL ~ D:\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 콘솔을 열고 파이프라인 실행 상태를 확인합니다.

    참고

    Enterprise Developer 또는 Teams 함수 커밋 또는 푸시에 문제가 있는 경우 Git Bash 명령줄 인터페이스를 사용하세요.

연습 2: BankDemo 애플리케이션에서 대출 계산 추출

다음 연습에서는 또 다른 샘플 변경 요청을 처리합니다. 이 시나리오에서 대출 부서는 대출 계산 루틴을 독립 실행형으로 WebService 재사용하려고 합니다. 루틴은 그대로 유지되어야 COBOL 하며 기존 프로그램에서 여전히 호출할 수 있어야 합니다. CICS COBOL BBANK70P.CBL

1단계: 대출 계산 루틴을 섹션으로 리팩터링 COBOL

첫 번째 단계에서는 대출 계산 루틴을 COBOL 섹션으로 추출합니다. 다음 단계에서 코드를 독립 실행형 COBOL 프로그램으로 추출하려면 이 단계가 필요합니다.

  1. BBANK70P.CBL편집기에서 COBOL 엽니다.

  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. 컨텍스트 메뉴에서 리팩터링->프로그램으로 섹션/단락 추출...을 선택합니다.

  4. 프로그램으로 섹션/단락 추출에 새 파일 이름을 입력합니다. LOANCALC CBL.

  5. 확인을 선택합니다.

    LOANCALC.CBL 프로그램이 편집기에서 열립니다.

  6. 아래로 스크롤하여 직접적 호출 인터페이스용으로 추출 및 생성되는 코드를 검토하세요.

  7. BBANK70P.CBL에서 편집기를 선택하고 LOAN-CALCULATION SECTION으로 이동하세요. 생성되는 코드를 검토하여 LOANCALC.CBL 새 하위 프로그램을 직접적으로 호출하세요.

    참고

    CALL명령문은 CICS 제어 DFHCOMMAREA 블록을 DFHEIBLK 사용하고 LOANCALC 호출합니다. 새 LOANCALC.CBL 하위 프로그램을 비프로그램 프로그램으로 호출하기 때문에 DFHCOMMAREA 호출에서 DFHEIBLK 및 를 제거해야 하므로 주석 처리하거나 삭제하여 호출에서 제외해야 합니다. CICS

테스트 변경

변경 사항을 테스트하려면 다음 단원에서 설명하는 단계를 반복합니다.

  1. 엔터프라이즈 개발자에서 BANKDEMO 서버를 시작합니다.

  2. Rumba 3270 터미널을 시작합니다

  3. 트랜잭션 BankDemo 실행하기

    또한 이제 Total Loan Amount.....................: $10230.60 텍스트도 볼 수 있을 것입니다.

  4. 엔터프라이즈 개발자에서 BANKDEMO 서버를 중지하십시오.

    참고

    위의 단계를 수행하여 코드 블록을 섹션으로 추출하지 않으려면 1단계의 수정된 소스를 ..\BANKDEMO-exercise\Exercis02\Step2\cobol\BBANK70P.CBLLOANCALC.CBL 에서 D:\PhotonUser\workspace\bankdemo\source\cobol으로 복사할 수 있습니다.

3단계: 변경 사항을 적용하고 CI/CD 파이프라인을 실행합니다

변경 내용을 중앙 CodeCommit 리포지토리에 커밋하고 CI/CD 파이프라인을 트리거하여 변경 사항을 빌드, 테스트 및 배포합니다.

  1. BANKDEMO프로젝트의 컨텍스트 메뉴에서 팀/커밋을 선택합니다.

  2. Git 스테이징 탭에서

    • 스테이징되지 않은 스테이지에 추가 LOANCALC CBL그리고. LOANCALC CBL.mfdirset.

    • Added Total Amount Calculation 커밋 메시지를 입력합니다.

  3. 커밋 및 푸시...를 선택합니다.

  4. CodePipeline 콘솔을 열고 파이프라인 실행 상태를 확인합니다.

    참고

    Enterprise Developer 또는 Teams 함수 커밋 또는 푸시에 문제가 있는 경우 Git Bash 명령줄 인터페이스를 사용하세요.

리소스 정리

이 튜토리얼에서 만든 리소스가 더 이상 필요하지 않은 경우 비용이 청구되지 않도록 하려면 리소스에 대해 비용이 청구되지 않도록 하세요. 다음 단계를 완료합니다.