본문으로 건너뛰기

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 managerhttps://github.com/IoTKETI/citydatahub_data_core_module.gitdatamanager
Ingest interfacehttps://github.com/IoTKETI/citydatahub_data_core_module.gitingestinterface
Data service brokerhttps://github.com/IoTKETI/citydatahub_data_core_module.gitdataservicebroker
UIhttps://github.com/IoTKETI/citydatahub_data_core_module.gitui
Dashboardhttps://github.com/IoTKETI/citydatahub_data_core_module.gitdashboard
Push agenthttps://github.com/IoTKETI/citydatahub_data_core_module.gitpushagent

2.1.3. 어플리케이션 빌드

  1. 데이터 코어 모듈 Git 저장소를 복제합니다.

    • 홈 디렉토리 아래에 datacore 디렉토리로 복제됩니다.
    $ cd ~
    $ git clone https://github.com/IoTKETI/citydatahub_data_core_module.git datacore_src
  2. 복제한 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
  3. 빌드 결과 확인

    • 정상적으로 빌드가 완료된다면 어플리케이션 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장 (내부 링크)에서 확인 가능합니다.