기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
튜토리얼: Micro Focus Enterprise Developer와 함께 사용할 CI/CD 파이프라인 설정
이 자습서에서는 Micro Focus Enterprise Developer에서 BankDemo 샘플 애플리케이션을 가져오고, 편집하고, 컴파일하고, 실행한 다음 변경 사항을 커밋하여 CI/CD 파이프라인을 트리거하는 방법을 보여줍니다.
목차
사전 조건
다음 파일을 다운로드하십시오.
-
basic-infra.yaml
-
pipeline.yaml
-
m2-code-sync-function.zip
-
config_git.yml
-
BANKDEMO-source.zip
-
BANKDEMO-exercise.zip
각 파일의 용도는 다음과 같습니다.
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
-
다음 옵션 중 하나를 사용하여 새 스택을 만듭니다.
-
스택 생성을 선택합니다. 현재 실행 중인 스택이 있는 경우에는 이 옵션이 유일한 옵션입니다.
-
Stacks(스택) 페이지에서 Create Stack(스택 생성)을 선택합니다. 현재 실행 중인 스택이 없는 경우에만 이 옵션이 표시됩니다.
-
-
템플릿 지정 페이지에서:
-
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 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 템플릿을 직접 수정하지 않은 이상 기본 파라미터 값을 변경하지 마십시오.
-
-
스택 옵션 구성에서 다음을 선택합니다.
-
기능에서 사용자 대신 IAM 역할을 생성할 AWS CloudFormation 수 있는 권한을 허용하는 IAM 리소스를 생성할 수 있음을 인정합니다를 선택합니다. AWS CloudFormation 스택 생성을 선택합니다.
참고
이 스택이 프로비저닝되는 데 3~5분이 걸릴 수 있습니다.
-
스택이 성공적으로 생성되면 새로 프로비저닝된 스택의 출력 섹션으로 이동합니다. 여기에서 메인프레임 코드와 종속 파일을 업로드해야 하는 Amazon S3 버킷을 찾을 수 있습니다.
AWS CodeCommit 리포지토리 및 CI/CD 파이프라인을 생성합니다.
이 단계에서는 파이프라인 스택을 생성하기 위해 호출하는 Lambda 함수를 호출하여 CodeCommit 리포지토리를 생성하고 CI/CD 파이프라인 스택을 프로비저닝합니다. AWS CloudFormation
-
BankDemo 샘플 애플리케이션을
로컬 시스템에 다운로드하십시오. -
로컬 시스템에서 CI/CD 파이프라인 기본 인프라 생성에서 생성한 Amazon S3 버킷으로
bankdemo.zip
를업로드합니다. -
config_git.yml
를 다운로드합니다. -
필요한 경우 다음과 같이
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
-
-
에서 생성한 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-
. 관리 콘솔에서 CodeCommit URL 리포지토리와 생성된 파이프라인에 액세스할 수 URL 있는 위치를 찾을 수 있습니다. AWS01234567
-
CodeCommit 리포지토리 생성이 완료되면 CI/CD 파이프라인이 즉시 트리거되어 전체 CI/CD를 수행합니다.
-
파일이 푸시되면 파이프라인이 자동으로 트리거되어 빌드하여 스테이징 단계에 배포하고 일부 테스트를 실행한 후 수동 승인을 기다린 후 프로덕션 환경에 배포합니다.
샘플 트리거 파일 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 제작.
-
Windows 시작에서 Enterprise Developer를 시작합니다. Micro Focus Enterprise Developer를 선택한 다음 Eclipse용 Enterprise Developer를 선택합니다. 처음 시작하는 경우 시간이 좀 걸릴 수 있습니다.
-
Eclipse 런처의 작업 영역에서:
C:\Users\<username>\workspace
를 입력한 다음 실행을 선택합니다.참고
AppStream 2.0 인스턴스에 다시 연결한 후 동일한 위치를 선택해야 합니다. 작업 영역 선택은 영구적이지 않습니다.
-
[웰컴] 에서 [오픈 COBOL 퍼스펙티브] 를 선택합니다. 이는 새 작업 공간의 경우 처음 표시될 때만 표시됩니다.
엔터프라이즈 디벨로퍼에서 BankDemo CodeCommit 리포지토리를 복제하십시오.
-
Window / Perspective / Open Perspective / Other ... Git을 선택합니다.
-
Git 리포지토리 복제를 선택합니다.
-
Git 리포지토리 복제에 다음 정보를 입력합니다.
-
위치에 URI HTTPS URL CodeCommit 저장소의 이름을 입력합니다.
참고
AWS 관리 콘솔에서 CodeCommit 리포지토리의 클론을 URL HTTPS 복사하여 여기에 붙여넣습니다. 호스트 경로와 리포지토리 경로로 URI 분할됩니다.
-
인증 사용자 및 비밀번호의 사용자 CodeCommit 리포지토리 자격 증명을 선택하고 보안 저장소에 저장을 선택합니다.
-
-
브랜치 선택에서 메인 브랜치를 선택한 후 다음을 선택합니다.
-
로컬 대상의 디렉터리에서
C:\Users\<username>\workspace
를 입력하고 마침을 선택합니다.BANKDEMO [main]
가 Git 리포지토리 보기에 표시되면 복제 프로세스가 완료됩니다.
BankDemo 메인프레임 COBOL 프로젝트 생성 및 애플리케이션 구축
-
관점으로의 변화. COBOL
-
프로젝트에서 자동 빌드를 사용 중단합니다.
-
파일에서 새로 만들기를 선택한 다음 메인프레임 프로젝트를 COBOL 선택합니다.
-
새 메인프레임 COBOL 프로젝트에서 다음 정보를 입력합니다.
-
프로젝트 이름에
BankDemo
을 입력합니다. -
Micro Focus 템플릿 [64비트]를 선택합니다.
-
마침을 클릭합니다.
-
-
COBOLExplorer에서 새 BankDemo 프로젝트를 확장합니다.
참고
[BANKDEMO main]
대괄호 안은 프로젝트가 로컬 BankDemo CodeCommit 저장소와 연결되어 있음을 나타냅니다. -
트리 뷰에 COBOL 프로그램, 카피북, BMS 소스 및 JCL 파일에 대한 항목이 표시되지 않는 경우 BankDemo 프로젝트 컨텍스트 메뉴에서 [새로 고침] 을 선택합니다.
-
BankDemo 컨텍스트 메뉴에서 [속성]/[Micro Focus]/[프로젝트 설정] 을 선택합니다. COBOL
-
문자 세트 선택 - ASCII.
-
Apply(적용)를 선택한 다음 OK(확인)를 선택합니다.
-
-
BMS및 COBOL 소스의 빌드가 바로 시작되지 않는 경우, 프로젝트 메뉴에서 자동 빌드 옵션이 활성화되어 있는지 확인하십시오.
빌드 출력은 콘솔 뷰에 표시되며 몇 분 후
BUILD SUCCESSFUL
및Build finished with no errors
메시지와 함께 완료될 것입니다.이제 BankDemo 애플리케이션을 컴파일하고 로컬에서 실행할 준비가 된 것입니다.
테스트를 위한 로컬 BankDemo CICS 및 배치 환경을 만드세요.
-
COBOL탐색기에서
BANKDEMO / config
확장하십시오. -
에디터에서
BANKDEMO_ED.json
를 엽니다. -
ED_Home=
문자열을 찾아D:\\<username>\\workspace\\BANKDEMO
와 같이 Enterprise Developer 프로젝트를 가리키도록 경로를 변경합니다. 경로 정의에 이중 슬래시(\\
)가 사용된다는 점에 유의하세요. -
파일을 저장하고 닫습니다.
-
서버 탐색기를 선택합니다.
-
기본 컨텍스트 메뉴에서 관리 페이지 열기를 선택합니다. Micro Focus 엔터프라이즈 서버 관리 페이지는 기본 브라우저에서 열립니다.
-
AppStream 2.0 세션의 경우에만 로컬 테스트를 위해 로컬 엔터프라이즈 서버 지역을 보존할 수 있도록 다음과 같이 변경하십시오.
-
디렉토리 서버/기본값에서 PROPERTIES/구성을 선택합니다.
-
리포지토리 위치를
D:\<username>\My Files\Home Folder\MFDS
로 바꿉니다.
참고
AppStream 2.0 인스턴스에 새로 연결할 때마다 5-8단계를 완료해야 합니다.
-
-
디렉토리 서버/기본값에서 가져오기를 선택하고 다음 단계를 완료하세요.
-
1단계: 가져오기 유형에서 다음을 JSON선택하고 선택합니다.
-
2단계: 업로드에서 파란색 사각형으로 파일을 클릭하여 업로드합니다.
-
업로드할 파일 선택에서 다음을 입력합니다.
-
파일 이름:
D:\<username>\workspace\BANKDEMO\config\BANKDEMO_ED.json
. -
열기(Open)를 선택합니다.
-
-
Next(다음)를 선택합니다.
-
3단계: 리전에서 엔드포인트에서 포트 지우기를 수행합니다.
-
Next(다음)를 선택합니다.
-
4단계: 가져오기에서 가져오기를 선택합니다.
-
마침을 클릭합니다.
이제 목록에 새 서버 이름
BANKDEMO
이 표시됩니다. -
엔터프라이즈 개발자에서 BANKDEMO 서버를 시작합니다.
-
Enterprise Developer를 선택합니다.
-
서버 탐색기에서 기본값을 선택한 다음 컨텍스트 메뉴에서 새로 고침을 선택합니다.
이제 서버 목록도 표시될 BANKDEMO 것입니다.
-
선택하세요 BANKDEMO.
-
컨텍스트 메뉴에서 [프로젝트와 연결] 을 선택한 다음 선택합니다 BANKDEMO.
-
컨텍스트 메뉴에서 시작을 선택합니다.
콘솔 보기에는 서버 시작 로그가 표시되어야 합니다.
메시지가
BANKDEMO CASSI5030I PLTPI Phase 2 List(PI) Processing Completed
표시되면 서버에서 CICS BANKDEMO 응용 프로그램을 테스트할 준비가 된 것입니다.
Rumba 3270 터미널을 시작합니다
-
Windows 시작에서 Micro Focus Rumba+ 데스크탑/Rumba+ 데스크탑을 실행합니다.
-
Welcome에서 CREATE NEWSESSION/메인프레임 디스플레이를 선택합니다.
-
메인프레임 디스플레이에서 연결/ 구성을 선택합니다.
-
세션 구성에서 Connection/TN3270을 선택합니다.
-
호스트 이름/주소에서 삽입을 선택하고 IP 주소
127.0.0.1
를 입력합니다. -
텔넷 포트에
6000
포트를 입력합니다. -
적용을 선택합니다.
-
연결을 선택합니다.
CICS시작 화면에는 1행 메시지:가 포함된 화면이 표시됩니다
This is the Micro Focus MFE CICS region BANKDEMO
. -
CTRL+Shift+Z를 눌러 화면을 지웁니다.
트랜잭션 BankDemo 실행하기
-
빈 화면에서
BANK
를 입력합니다. -
화면 BANK10의 사용자 ID 입력 필드에... : 를
guest
입력하고 Enter 키를 누릅니다. -
화면 BANK20의 대출 비용 계산 전 입력 필드에
/
(슬래시 전달) 을 입력하고 Enter 키를 누릅니다. -
화면 BANK70에서:
-
빌리고 싶은 금액...에
10000
를 입력하세요. -
이자율................:에
5.0
를 입력하세요. -
대출 기간...................에
10
를 입력하세요. -
Enter를 누릅니다.
다음 결과가 표시되어야 합니다.
Resulting monthly payment.............: $1023.06
이것으로 엔터프라이즈 디벨로퍼의 BANKDEMO 애플리케이션 설정이 완료됩니다.
-
엔터프라이즈 개발자에서 BANKDEMO 서버를 중지하십시오.
-
서버 탐색기에서 기본값을 선택한 다음 컨텍스트 메뉴에서 새로 고침을 선택합니다.
-
선택하세요 BANKDEMO.
-
컨텍스트 메뉴에서 중지를 선택합니다.
콘솔 보기에는 서버 중지 로그가 표시되어야 합니다.
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 프로젝트의 소스에서 동일한 분석 규칙을 실행할 수 있습니다.
-
Window/Preferences/Micro Focus/COBOL/Code Analysis/Rules
를 엽니다. -
편집...을 선택하고
Loan+Calculation+Update.General-1.xml
규칙 파일이 들어 있는D:\PhotonUser\My Files\Home Folder\AnalysisRules
폴더 이름을 입력합니다. -
마침을 클릭합니다.
-
적용을 선택한 다음 닫기를 선택합니다.
-
BANKDEMO프로젝트 컨텍스트 메뉴에서 코드 분석을 선택합니다.
대출 계산 업데이트 항목이 표시되어야 합니다.
1단계: 대출 계산을 위한 코드 분석 수행
새 분석 규칙을 사용하여 검색 패턴*PAYMENT*
, 표현식, *LOAN*
명령문 및 변수와 일치하는 COBOL 프로그램과 코드 라인을 식별하려고 합니다. *RATE*
이렇게 하면 코드를 탐색하고 필요한 코드 변경을 식별하는 데 도움이 됩니다.
-
BANKDEMO프로젝트 컨텍스트 메뉴에서 [코드 분석/대출 계산 업데이트] 를 선택합니다.
그러면 검색 규칙이 실행되고 코드 분석이라는 새 탭에 결과가 나열됩니다. 오른쪽 하단의 녹색 진행률 표시줄이 사라지면 분석 실행이 완료됩니다.
코드 분석 탭에는 검색 패턴과 일치하는 명령문, 식 및 변수를 나열하는
BBANK20P.CBL
,BBANK70P.CBL
및SBANK70P.CBL
의 확장된 목록이 표시되어야 합니다.BBANK20P.CBL
의 결과를 보면 검색 패턴과 일치하는 이동된 리터럴만 있습니다. 따라서 이 프로그램은 무시할 수 있습니다. -
탭 메뉴 막대에서 - 아이콘을 선택하면 모두 축소됩니다.
-
두 번 클릭하여 원하는
SBANK70P.CBL
를 펼치고 순서대로 원하는 줄을 선택하면 소스가 어떻게 열리고 소스 코드에서 선택한 줄이 강조 표시되는지 확인할 수 있습니다. 식별된 소스 라인이 모두 표시되어 있는 것도 확인할 수 있습니다.
2단계: CICS BMS 맵 및 프로그램 수정 및 테스트 COBOL
먼저 BMS MBANK70.BMS
맵과 화면 처리 프로그램 SBANK70P.CBL
및 CBANKDAT.CPY
카피북을 변경하여 새 필드를 표시합니다. 이 연습에서는 불필요한 코딩을 방지하기 위해 D:\PhotonUser\My
Files\Home Folder\BANKDEMO-exercise\Exercise01
폴더에서 수정된 소스 모듈을 사용할 수 있습니다. 일반적으로 개발자는 코드 분석 결과를 사용하여 소스를 탐색하고 수정합니다. 시간이 있고 수동으로 변경하려면 *수동 변경 (0) 에 제공된 정보를 사용하여 수동으로 변경하십시오. MBANK7 BMS그리고 SBANK7 0P. CBL(선택 사항) *.
빠르게 변경하려면 다음 파일을 복사하세요.
-
..\BANKDEMO-exercise\Exercis01\screens\MBANK70.BMS
~D:\PhotonUser\workspace\bankdemo\source\screens
. -
.\BANKDEMO-exercise\Exercis01\cobol\SBANK70P.CBL
~D:\PhotonUser\workspace\bankdemo\source\cobol
. -
..\BANKDEMO-exercise\Exercis01\copybook\CBANKDAT.CPY
~D:\PhotonUser\workspace\bankdemo\source\copybook
. -
변경 사항의 영향을 받는 모든 프로그램이 컴파일되도록 하려면 프로젝트/...지우기/모든 프로젝트 지우기를 선택하세요.
MBANK70.BMS
및 SBANK70P.CBL
를 수동으로 변경하려면 다음 단계를 완료하세요.
-
BMS
MBANK70.BMS
소스를 수동으로 변경하려면PAYMENT
필드 뒤에 추가하십시오.-
TXTTXT08과 속성이 같고 INITIAL 값이 “총 대출 금액”인 09
-
TOTAL다음과 같은 속성 사용 PAYMENT
-
테스트 변경
변경 사항을 테스트하려면 다음 단계를 반복합니다.
-
또한 이제
Total Loan Amount.....................:
텍스트도 볼 수 있을 것입니다.
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
을 수동으로 변경하려면 다음 단계를 완료합니다.
-
코드 분석 결과를 사용하여 필요한 변경을 식별하세요.
테스트 변경
변경 사항을 테스트하려면 다음 단계를 반복합니다.
-
또한 이제
Total Loan Amount.....................: $10230.60
텍스트도 볼 수 있을 것입니다.
4단계: 변경 사항 커밋 및 CI/CD 파이프라인 실행
변경 사항을 중앙 CodeCommit 리포지토리에 커밋하고 CI/CD 파이프라인을 트리거하여 변경 사항을 빌드, 테스트 및 배포합니다.
-
BANKDEMO프로젝트의 컨텍스트 메뉴에서 팀/커밋을 선택합니다.
-
Git 스테이징 탭에서
Added Total Amount Calculation
커밋 메시지를 입력합니다. -
커밋 및 푸시…를 선택합니다.
-
CodePipeline 콘솔을 열고 파이프라인 실행 상태를 확인합니다.
참고
Enterprise Developer 또는 Teams 함수 커밋 또는 푸시에 문제가 있는 경우 Git Bash 명령줄 인터페이스를 사용하세요.
연습 2: BankDemo 애플리케이션에서 대출 계산 추출
주제
다음 연습에서는 또 다른 샘플 변경 요청을 처리합니다. 이 시나리오에서 대출 부서는 대출 계산 루틴을 독립 실행형으로 WebService 재사용하려고 합니다. 루틴은 그대로 유지되어야 COBOL 하며 기존 프로그램에서 여전히 호출할 수 있어야 합니다. CICS COBOL BBANK70P.CBL
1단계: 대출 계산 루틴을 섹션으로 리팩터링 COBOL
첫 번째 단계에서는 대출 계산 루틴을 COBOL 섹션으로 추출합니다. 다음 단계에서 코드를 독립 실행형 COBOL 프로그램으로 추출하려면 이 단계가 필요합니다.
-
BBANK70P.CBL
편집기에서 COBOL 엽니다. -
편집기의 콘텍스트 메뉴 코드 분석/대출 계산 업데이트 중에서 선택합니다. 이렇게 하면 현재 소스에서 분석 규칙에 정의된 패턴만 스캔합니다.
-
코드 분석 탭의 결과에서 첫 번째 산술 명령문
DIVIDE WS-LOAN-INTEREST BY 12
을 찾으세요. -
명령문을 두 번 클릭하여 편집기의 소스 라인으로 이동합니다. 대출 계산 루틴의 첫 번째 명세서입니다.
-
섹션으로 추출할 대출 계산 루틴에 대해 다음 코드 블록을 표시하세요.
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).
-
편집기의 컨텍스트 메뉴에서 섹션으로 리팩터링/추출...을 선택합니다.
-
새 섹션 이름 입력: LOAN - CALCULATION.
-
확인을 선택합니다.
표시된 코드 블록은 이제 새
LOAN-CALCULATION
섹션으로 추출되었으며 코드 블록은PERFROM LOAN-CALCULATION
명령문으로 대체되었습니다.
테스트 변경
변경 사항을 테스트하려면 다음 단원에서 설명하는 단계를 반복합니다.
-
또한 이제
Total Loan Amount.....................: $10230.60
텍스트도 볼 수 있을 것입니다. -
엔터프라이즈 개발자에서 BANKDEMO 서버를 중지하십시오.
참고
위의 단계를 수행하여 코드 블록을 섹션으로 추출하지 않으려면 1단계의 수정된 소스를
..\BANKDEMO-exercise\Exercis02\Step1\cobol\BBANK70P.CBL
에서D:\PhotonUser\workspace\bankdemo\source\cobol
로 복사할 수 있습니다.
2단계: 대출 계산 루틴을 독립형 프로그램으로 COBOL 추출
2단계에서는 LOAN-CALCULATION
섹션의 코드 블록을 독립형 프로그램으로 추출하고 원본 코드는 새 하위 프로그램을 직접적으로 호출하는 코드로 대체됩니다.
-
편집기에서
BBANK70P.CBL
를 열고 1단계에서 만든 새PERFORM LOAN-CALCULATION
명령문을 찾으세요. -
섹션 이름 안에 커서를 놓습니다. 회색으로 표시됩니다.
-
컨텍스트 메뉴에서 리팩터링->프로그램으로 섹션/단락 추출...을 선택합니다.
-
프로그램으로 섹션/단락 추출에 새 파일 이름을 입력합니다. LOANCALC CBL.
-
확인을 선택합니다.
새
LOANCALC.CBL
프로그램이 편집기에서 열립니다. -
아래로 스크롤하여 직접적 호출 인터페이스용으로 추출 및 생성되는 코드를 검토하세요.
-
BBANK70P.CBL
에서 편집기를 선택하고LOAN-CALCULATION SECTION
으로 이동하세요. 생성되는 코드를 검토하여LOANCALC.CBL
새 하위 프로그램을 직접적으로 호출하세요.참고
CALL
명령문은 CICS 제어DFHCOMMAREA
블록을DFHEIBLK
사용하고LOANCALC
호출합니다. 새LOANCALC.CBL
하위 프로그램을 비프로그램 프로그램으로 호출하기 때문에DFHCOMMAREA
호출에서DFHEIBLK
및 를 제거해야 하므로 주석 처리하거나 삭제하여 호출에서 제외해야 합니다. CICS
테스트 변경
변경 사항을 테스트하려면 다음 단원에서 설명하는 단계를 반복합니다.
-
또한 이제
Total Loan Amount.....................: $10230.60
텍스트도 볼 수 있을 것입니다. -
엔터프라이즈 개발자에서 BANKDEMO 서버를 중지하십시오.
참고
위의 단계를 수행하여 코드 블록을 섹션으로 추출하지 않으려면 1단계의 수정된 소스를
..\BANKDEMO-exercise\Exercis02\Step2\cobol\BBANK70P.CBL
및LOANCALC.CBL
에서D:\PhotonUser\workspace\bankdemo\source\cobol
으로 복사할 수 있습니다.
3단계: 변경 사항을 적용하고 CI/CD 파이프라인을 실행합니다
변경 내용을 중앙 CodeCommit 리포지토리에 커밋하고 CI/CD 파이프라인을 트리거하여 변경 사항을 빌드, 테스트 및 배포합니다.
-
BANKDEMO프로젝트의 컨텍스트 메뉴에서 팀/커밋을 선택합니다.
-
Git 스테이징 탭에서
-
스테이징되지 않은 스테이지에 추가 LOANCALC CBL그리고. LOANCALC CBL.mfdirset.
-
Added Total Amount Calculation
커밋 메시지를 입력합니다.
-
-
커밋 및 푸시...를 선택합니다.
-
CodePipeline 콘솔을 열고 파이프라인 실행 상태를 확인합니다.
참고
Enterprise Developer 또는 Teams 함수 커밋 또는 푸시에 문제가 있는 경우 Git Bash 명령줄 인터페이스를 사용하세요.
리소스 정리
이 튜토리얼에서 만든 리소스가 더 이상 필요하지 않은 경우 비용이 청구되지 않도록 하려면 리소스에 대해 비용이 청구되지 않도록 하세요. 다음 단계를 완료합니다.
-
CodePipeline 파이프라인을 삭제합니다. 자세한 내용은 AWS CodePipeline 사용 설명서의 파이프라인 삭제를 참조하십시오. CodePipeline
-
CodeCommit 리포지토리를 삭제합니다. 자세한 내용은 AWS CodeCommit 사용 설명서의 CodeCommit리포지토리 삭제를 참조하십시오.
-
S3 버킷을 삭제합니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 버킷 삭제를 참조하세요.
-
AWS CloudFormation 스택을 삭제합니다. 자세한 내용은 AWS CloudFormation 사용 설명서의 AWS CloudFormation 콘솔에서 스택 삭제를 참조하십시오.