8.2. 배포 준비
IPE 플랫폼을 구성하는 Project는 interworking-proxy로 구성된다. interworking-proxy는 jar 파일 형태로 배포 되며 Spring Boot 의 Embedded Tomcat 위에서 동작한다. 설치 경로는 아래 가이드 되어 있는 디렉토리 구조를 따른다.
8.2.1. 사전 준비
IPE 플랫폼을 배포하기 전 Build 전 필요한 소프트웨어가 설치되어 있어야 한다.
Software | Version |
---|---|
JDK | OpenJDK 11 |
Apache Maven | 3.9.5 |
8.2.2. 배포 파일
8.2.2.1. 파일 목록
interworking-proxy 배포 파일은 Apache Maven으로 build 된 SpringBoot 기반 Executable jar 형태로 배포된다. 파일은 jar 확장자를 가진 단일 파일이다. (생성 방법은 나-2의 maven build 참고)
- 실행 jar 파일 : interworking-proxy-1.0.0.jar, interworking-dashboard-1.0.0.jar
8.2.2.2. maven build 방법
8.2.2.2.1. interworking-proxy
interworking-proxy 소스 파일이 있는 위치로 이동
mvn clean && package
target 디렉토리 내 interworking-proxy-1.0.0.jar 파일 생성 확인
8.2.3. 설정 파일
8.2.3.1. 설정 파일 상세
모듈구분 | Property 명 | Value Sample | 설명 |
---|---|---|---|
interworking-proxy | spring.application.name | interworking-proxy | Application 이름 |
spring.datasource.url | jdbc:log4jdbc:postgresql://1.1.1.1:5432/KETI_IPE?currentSchema=ipe | JDBC 연결정보 | |
spring.datasource.username | test | ||
spring.datasource.password | test | ||
spring.datasource.driver-class-name | net.sf.log4jdbc.sql.jdbcapi.DriverSpy | ||
spring.datasource.hikari.pool-name | tracker-hikari-cp | ||
spring.datasource.hikari.maximum-pool-size | 8 | ||
mybatis.mapper-locations | mapper/*.xml | Mapper 파일 위치 | |
mybatis.configuration.map-underscore-to-camel-case | true | 스네이크 형식을 카멜케이스로 변환 여부 | |
server.port | 8083 | 서버 포트 | |
logging.base.dir | logs | Log 디렉토리 | |
logging.config | classpath:logback-spring.xml | Logback 파일 위치 | |
datahub.data.base-uri | http://1.1.1.1:8080 | Datahub Label 연계 정보 | |
datahub.data.sub-uri.datamodels | /datamodels | ||
datahub.data.sub-uri.datasets | /datasets | ||
datahub.label.platform-id | bywDataHub01 | ||
datahub.label.base-uri | http://1.1.1.1:8081 | ||
datahub.label.sub-uri.collect | /entityOperations/upsert | ||
onem2m.label.init-interworking-enabled | true | oneM2M Label 연계 정보 | |
onem2m.label.platform-id | ketiOneM2MID01 | ||
onem2m.label.base-uri | http://1.1.1.1:11000 | ||
onem2m.label.regist-application-id | S | ||
onem2m.label.context-path | /Mobius | ||
onem2m.label.discovery-lbl | Iwked-Technology:NGSI-LD | ||
onem2m.label.notification.receive-uri | http://1.1.1.1:8083/onem2m/label/notifications | ||
onem2m.label.dataset-id | ThermometerDemoDataset | ||
http.pool.max.total | 200 | http 커넥션 풀 최대 크기 | |
http.pool.defaultMaxPerRoute | 100 | http 커넥션 풀에 생성 가능한 커넥션 수 | |
http.pool.connection.timeout | 5000 | http 클라이언트 연결타임아웃 | |
http.pool.connection.request.timeout | 5000 | http 클라이언트 요청 타임아웃 | |
http.pool.read.timeout | 30000 | http 클라이언트 READ 타임아웃 | |
http.pool.validate.after.inactivity | 2000 | http 커넥션 유효성 확인 기준 시간 | |
interworking-dashboard | VUE_APP_API_URL | http://1.1.1.1:8084 | |
spring.application.name | interworking-dashboard | Application 이름 | |
spring.datasource.url | jdbc:log4jdbc:postgresql://1.1.1.1:5432/KETI_IPE?currentSchema=ipe | JDBC 연결정보 | |
spring.datasource.username | test | ||
spring.datasource.password | test | ||
spring.datasource.driver-class-name | net.sf.log4jdbc.sql.jdbcapi.DriverSpy | ||
spring.datasource.hikari.pool-name | tracker-hikari-cp | ||
spring.datasource.hikari.maximum-pool-size | 8 | ||
spring.web.resources.static-locations | [classpath:/static/] | 정적 리소스 위치 설정 (Dashboard UI Build 위치) | |
mybatis.mapper-locations | mapper/*.xml | Mapper 파일 위치 | |
mybatis.configuration.map-underscore-to-camel-case | true | 스네이크 형식을 카멜케이스로 변환 여부 | |
server.port | 8084 | 서버 포트 | |
logging.base.dir | logs | Log 디렉토리 | |
logging.config | classpath:logback-spring.xml | Logback 파일 위치 | |
http.pool.max.total | 200 | http 커넥션 풀 최대 크기 | |
http.pool.defaultMaxPerRoute | 100 | http 커넥션 풀에 생성 가능한 커넥션 수 | |
http.pool.connection.timeout | 5000 | http 클라이언트 연결타임아웃 | |
http.pool.connection.request.timeout | 5000 | http 클라이언트 요청 타임아웃 | |
http.pool.read.timeout | 30000 | http 클라이언트 READ 타임아웃 | |
http.pool.validate.after.inactivity | 2000 | http 커넥션 유효성 확인 기준 시간 |
8.2.4. 파일 업로드
sFTP, FTP등 해당 서버가 지원하는 파일 전송 프로토콜을 사용하여 서버로 배포 대상 파일 및 설정 파일을 업로드 한다. 업로드 대상 파일은 하기와 같다.
- 배포 대상 모듈 jar 파일 interworking-proxy-1.0.0.jar
8.2.5. 디렉토리 구조
본 가이드에서는 /usr/local/application/ipe 디렉토리를 홈 디렉토리로 가이드 한다. 라. 파일 업로드에서의 파일을 하기 구조대로 배치한다.
- 배포 jar 파일 : /usr/local/application/ipe/배포 jar 파일