새울 3,4호기 GW/DLS 빌드 매뉴얼

본 문서는 새울 3,4호기 Gateway 및 Data Link Server 소프트웨어의 실행파일을 제작하는 방법과 실행파일을 이용한 패키징을 구성하는 방법에 대해 설명하기 위한 목적으로 사용한다.

1. 실행파일 생성

1.1. 실행파일 디렉터리 구조

GW/DLS 소프트웨어의 실행파일 디렉터리의 구조는 다음과 같으며, 상세
구성요소는 Packing List 부록A ‘Program and Data File List’를 참조한다.

디렉터리

하위 디렉터리

세부 디렉터리

01_DCS-A-GW

SC

Bin

Data

Env

기타 파일

02_DCS-B-GW

SC

01과 동일

03_DCS-C-GW

SC

01과 동일

04_DCS-D-GW

SC

01과 동일

05_DCS-MCGW-P

SC

01과 동일

06_DCS-MCGW-S

SC

01과 동일

07_NSSS-DLS-P

SC

01과 동일

08_NSSS-DLS-S

SC

01과 동일

09_BOP-DLS-P

SC

01과 동일

10_BOP-DLS-S

SC

01과 동일

11_ETC

SC

Bin

Extern

1.2. 디렉터리 설명

1.2.1. 01_DCS-A-GW ~ 10_BOP-DLS-S

각 실행파일은 Bin(프로그램), Data(데이터), Env(환경설정) 폴더 및 기타
파일로 구성되어 있으며, 다음은 ‘01_DCS-A-GW’ 디렉터리의 예시 이미지이다.
images/image1

1.2.2. 11_ETC

‘11_ETC’ 실행파일은 Bin(프로그램) 및 Extern(외부 라이브러리) 폴더로
구성되어 있으며, 다음은 예시 이미지이다.
images/image2

1.3. 실행파일 빌드

1.3.1. 사전 조건

실행파일은 Component Test를 PASS한 파일을 사용하여 제작해야 하며,
개정하지 않는 파일은 최근 납품 파일을 그대로 사용한다.
GitLab "C1902_SKN56_Runtime_Env" repository의 프로젝트를 로컬에 Clone 한다.
(https://ips.jssolution.co.kr/2019/C1902_SKN56_Runtime_Env)
GitLab "C1401_Tool" repository의 프로젝트를 로컬에 Clone 한다.
(https://ips.jssolution.co.kr/2014/C1401_Tool)

1.3.2. 디렉터리 생성

다음과 같은 구조로 폴더를 생성한다.
C:\BUILD\
 └ BuildGWDLSPackage\
   ├ GWDLS_Artifacts\
   │ └ GWDLS\
   └ LAST_GWDLS_DATA\
      └ 01.실행파일\
images/image3

1.3.3. RELEASE DB 복사

"C1902_SKN56_Runtime_Env\Release\SKN5/6\01_GWDLS" 폴더를
"C:\BUILD"에 복사한다.
DB가 변경되지 않은 경우, 최근 납품 DB의 Data, Env, *.reg 파일을 해당하는
GW/DLS의 폴더에 복사하여 사용한다.
3호기는 SUN3, 4호기는 SUN4 경로의 파일을 사용한다.
images/image4

1.3.4. IPSEncrypt.dll, SCEncrypt.exe 파일 복사

"\\192.168.0.117\Project_Center\External_Library\SCEncrypt\1.1.0.0" 에서
 IPSEncrypt.dll, SCEncrypt.exe 파일을 "C:\BUILD"에 복사한다.
images/image5

1.3.5. SCEncrypt.exe 실행

CMD창 실행하고 다음 명령을 실행한다.
cd C:\BUILD
SCEncrypt.exe

1.3.6. SetTimeStamp.exe 파일 복사

"\\192.168.0.117\Project_Center\External_Library\SetTimeStamp\1.1.0" 에서
SetTimeStamp.exe 파일을 "C:\BUILD"에 복사한다.
images/image7

1.3.7. exe, dll, stop_all.bat 복사

"\\192.168.0.84\share\_TEST_ONLY(최신본)_SUN_GWDLS_CT_시험본" 에서
exe 폴더, dll 폴더를
"C:\BUILD\BuildGWDLSPackage\GWDLS_Artifacts\GWDLS"에 복사한다.
"\\192.168.0.117\Project_Center\External_Library\SCStopAll\01_GWDLS" 에서
stop_all.bat 파일을
"C:\BUILD\BuildGWDLSPackage\GWDLS_Artifacts\GWDLS"에 복사한다.
개정하지 않는 파일은 최근 납품 파일을 그대로 사용한다.
images/image8

1.3.8. DB 파일 복사

"C:\BUILD\01_GWDLS"의 내용물을
"C:\BUILD\BuildGWDLSPackage\LAST_GWDLS_DATA\01.실행파일"에 복사한다.
images/image9

1.3.9. 빌드 스크립트 복사

"C1401_Tool\Src\BuildGWDLSPackage"에서
build_gwdls_package.py 및 python-gitlab.cfg 파일을
"C:\BUILD\BuildGWDLSPackage\"에 복사한다.
images/image10

1.3.10. python 설치

CMD 창에서 다음 명령어를 순서대로 실행한다.
단, python이 실행되어 있다면 본 절차는 생략한다.
pip install python-gitlab
pip install pandas
pip install xlrd
pip install smbprotocol
pip install openpyxl

1.3.11. 파일 빌드

CMD 창에서 다음 명령어를 순서대로 실행한다.
cd C:\BUILD\BuildGWDLSPackage
python build_gwdls_package.py --build
정상 출력 메시지는 다음과 같다.
Getting Software list ...
Using existing artifacts (EXE's) ...
Download 3rd party (FIDAS, VC_redist, SCEncrypt) ...
Copying to System Folders ...

1.3.12. 생성 파일 검증

CMD 창에서 다음 명령어를 순서대로 실행한다.
python build_gwdls_package.py --verify
정상 출력 메시지는 다음과 같다.
Getting Software list ...
Checking file list ...
누락된 파일: 없음
불필요한 파일: 없음
Checking completed.

1.3.13. 생성된 실행파일 이동

"BuildGWDLSPackage" 하위에 생성된 "CD_GWDLS" 폴더를
"C:\BUILD" 하위로 이동시킨다.
"C:\BUILD\CD_GWDLS\01.실행파일" 하위의 *.zip 파일들을 삭제한다.
images/image12

1.3.14. DB RELEASE 날짜 변경

CMD 창에서 다음 명령어를 실행한다.
단, 시간은(yyyy-mm-dd)는 운영 DB RELEASE 날짜로 아래 예시와 같이 설정한다.
cd C:\BUILD
SetTimeStamp 2025-09-17 12:00:00

1.3.15. System(Integration) Test

"C:\BUILD\CD_GWDLS\01.실행파일" 하위에 생성된 실행파일들을
System(Integration) Test에 사용한다.

2. 참고 사항

실행파일 제작 도구인 “build_gwdls_package.py”는
"build_gwdls_package.py" 실행 파일 제작 도구는
"J1602_SUN34_MMIS_doc\10_개발문서\07_사용자매뉴얼" 폴더의
"J1602-SUM-02_Rev00_App.A_새울 3,4호기소프트웨어 리스트_AB_CD 이중화.xlsx"
파일을 사용한다.
따라서 소프트웨어 구성이 변경되면 위 엑셀 파일을 수정하거나,
필요에 따라 빌드 도구(build_gwdls_package.py)를 함께 수정해야 한다. (file_path 변수)
images/image13
images/image14