2.1. JAR 배포 방식
본 장에서는 데이터 코어 모듈의 각 어플리케이션을 JAR 파일 형태로 빌드하는 방법을 설명합니다. 어플리케이션을 빌드하기 위한 요구사항은 아래와 같습니다.
- Java: JDK 1.8 이상
- Apache Maven: 3.8 이상
2.1.1. 빌드 환경
본 장에서 설명하는 모든 내용은 아래 환경을 가정합니다.
- OS: CentOS 7
- 사용자명: centos
- 홈 디렉토리: /home/centos
- 데이터 코어 모듈 Git 저장소: /home/centos/datacore_src
$JAVA_HOME
,$MAVEN_HOME
,$PATH
환경변수 구성됨
2.1.2. Git 저장소 구성
데이터 코어 모듈 Git 저장소(외부 링크)는 아래 구조로 구성됩니다.
어플리케이션 | Repository URI | 디렉토리 명 |
---|---|---|
Data manager | https://github.com/IoTKETI/citydatahub_data_core_module.git | datamanager |
Ingest interface | https://github.com/IoTKETI/citydatahub_data_core_module.git | ingestinterface |
Data service broker | https://github.com/IoTKETI/citydatahub_data_core_module.git | dataservicebroker |
UI | https://github.com/IoTKETI/citydatahub_data_core_module.git | ui |
Dashboard | https://github.com/IoTKETI/citydatahub_data_core_module.git | dashboard |
Push agent | https://github.com/IoTKETI/citydatahub_data_core_module.git | pushagent |
2.1.3. 어플리케이션 빌드
데이터 코어 모듈 Git 저장소를 복제합니다.
- 홈 디렉토리 아래에
datacore
디렉토리로 복제됩니다.
$ cd ~
$ git clone https://github.com/IoTKETI/citydatahub_data_core_module.git datacore_src- 홈 디렉토리 아래에
복제한 Git 저장소의 각 어플리케이션 디렉토리로 이동하여 빌드 명령어를 실행합니다.
# Data manager 빌드
$ cd ~/datacore_src/datamanager
$ mvn -DskipTests clean package
# Ingest interface 빌드
$ cd ~/datacore_src/ingestinterface
$ mvn -DskipTests clean package
# Data service broker 빌드
$ cd ~/datacore_src/dataservicebroker
$ mvn -DskipTests clean package
# UI 빌드
$ cd ~/datacore_src/ui
$ mvn -DskipTests clean package
# Dashboard 빌드
$ cd ~/datacore_src/dashboard
$ mvn -DskipTests clean package
# Push agent 빌드
$ cd ~/datacore_src/pushagent
$ mvn -DskipTests clean package빌드 결과 확인
- 정상적으로 빌드가 완료된다면
어플리케이션 root/target
디렉토리 내부에.jar
로 끝나는 파일이 생성됩니다. (파일 이름은 변경될 수 있으나 확장자는.jar
로 동일합니다.) - 예시) /home/centos/datacore_src/dataservicebroker/target/data-service-broker-2.0.1.jar
- 정상적으로 빌드가 완료된다면
2.1.4. 배포 준비
빌드 결과물을 배포 환경에 적용하려면 아래 파일이 필요합니다.
- 2.1.3장 (내부 링크)에서 산출된 각 어플리케이션 빌드 결과물 (
.jar
) 파일 - 어플리케이션 설정 파일 (
어플리케이션 root/src/main/resources/application-local.yml
) 파일 - 어플리케이션 DB 초기화 스크립트 (DDL, DML)
2.1.5. 기타
데이터코어 배포 환경 구성을 어플리케이션 빌드 단계에서 사전에 포함시킬 수 있습니다. 이 경우, 2.1.3장 (내부 링크) 단계에서 어플리케이션을 빌드하기 전에 각 어플리케이션의 설정 파일을 찾아 환경설정한 뒤 빌드를 진행합니다.
- 각 어플리케이션 별 환경 설정 파일은
어플리케이션 root/src/main/resources/application-local.yml
파일입니다. - 각 어플리케이션 별 환경 설정 내용은 4장 (내부 링크)에서 확인 가능합니다.