refactor: rename dap-tool-other to dap-tool-oth
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled
This commit is contained in:
@@ -49,7 +49,7 @@ jobs:
|
|||||||
# 4. 마운트된 /app 디렉토리로 이동하여 호스트의 도커 컴포즈 제어!
|
# 4. 마운트된 /app 디렉토리로 이동하여 호스트의 도커 컴포즈 제어!
|
||||||
cd /app
|
cd /app
|
||||||
docker system prune -f
|
docker system prune -f
|
||||||
ACTIVE_PROFILE=dev docker compose up -d --build --remove-orphans gateway redis mci-mock dozzle tool-sms tool-other
|
ACTIVE_PROFILE=dev docker compose up -d --build --remove-orphans gateway redis mci-mock dozzle tool-sms tool-oth
|
||||||
|
|
||||||
# 5. 배포 후 대롱대롱 매달려 있는 가비지 이미지 자동 소거 청소!
|
# 5. 배포 후 대롱대롱 매달려 있는 가비지 이미지 자동 소거 청소!
|
||||||
docker image prune -f
|
docker image prune -f
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ DAP Backend는 2개의 주요 애플리케이션으로 분리 운영됩니다:
|
|||||||
- **Gateway 서버 기동:**
|
- **Gateway 서버 기동:**
|
||||||
- `./gradlew :dap-gateway:bootRun`
|
- `./gradlew :dap-gateway:bootRun`
|
||||||
- **Tool 서버 기동:**
|
- **Tool 서버 기동:**
|
||||||
- `./gradlew :dap-tool-other:bootRun` (또는 dap-tool-payment 등)
|
- `./gradlew :dap-tool-oth:bootRun` (또는 dap-tool-payment 등)
|
||||||
- Tool 서버가 기동되면 자동으로 Gateway(8081)에 자신을 등록(Auto-Registration)합니다.
|
- Tool 서버가 기동되면 자동으로 Gateway(8081)에 자신을 등록(Auto-Registration)합니다.
|
||||||
- **(선택) 특정 Tool 그룹만 실행하기:**
|
- **(선택) 특정 Tool 그룹만 실행하기:**
|
||||||
- 업무 특성에 따라 세분화된 그룹에 속한 Tool만 띄우고 싶다면, 실행 인수에 `--mcp.tool.target=그룹명`을 추가합니다.
|
- 업무 특성에 따라 세분화된 그룹에 속한 Tool만 띄우고 싶다면, 실행 인수에 `--mcp.tool.target=그룹명`을 추가합니다.
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class ScaffoldingController {
|
|||||||
@PostMapping("/pod")
|
@PostMapping("/pod")
|
||||||
public String scaffoldPod(@RequestBody Map<String, String> req) {
|
public String scaffoldPod(@RequestBody Map<String, String> req) {
|
||||||
try {
|
try {
|
||||||
String moduleName = req.getOrDefault("moduleName", "dap-tool-other");
|
String moduleName = req.getOrDefault("moduleName", "dap-tool-oth");
|
||||||
if (!moduleName.startsWith("dap-tool-")) moduleName = "dap-tool-" + moduleName;
|
if (!moduleName.startsWith("dap-tool-")) moduleName = "dap-tool-" + moduleName;
|
||||||
String port = req.getOrDefault("port", "8085");
|
String port = req.getOrDefault("port", "8085");
|
||||||
String shortName = moduleName.replace("dap-tool-", "").replace("-", "");
|
String shortName = moduleName.replace("dap-tool-", "").replace("-", "");
|
||||||
@@ -57,7 +57,7 @@ public class ScaffoldingController {
|
|||||||
String description = req.get("description");
|
String description = req.get("description");
|
||||||
String group = req.getOrDefault("categoryKey", req.getOrDefault("group", "COMMON"));
|
String group = req.getOrDefault("categoryKey", req.getOrDefault("group", "COMMON"));
|
||||||
String routingType = req.getOrDefault("routingType", "HTTP");
|
String routingType = req.getOrDefault("routingType", "HTTP");
|
||||||
String moduleName = req.getOrDefault("moduleName", "dap-tool-other");
|
String moduleName = req.getOrDefault("moduleName", "dap-tool-oth");
|
||||||
String author = req.get("author");
|
String author = req.get("author");
|
||||||
if (author == null || author.trim().isEmpty()) author = System.getProperty("user.name");
|
if (author == null || author.trim().isEmpty()) author = System.getProperty("user.name");
|
||||||
String date = req.get("date");
|
String date = req.get("date");
|
||||||
@@ -96,12 +96,12 @@ public class ScaffoldingController {
|
|||||||
File[] files = dir.listFiles(f -> f.isDirectory() && f.getName().startsWith("dap-tool-") && !f.getName().equals("dap-tool-core"));
|
File[] files = dir.listFiles(f -> f.isDirectory() && f.getName().startsWith("dap-tool-") && !f.getName().equals("dap-tool-core"));
|
||||||
|
|
||||||
if (files == null || files.length == 0) {
|
if (files == null || files.length == 0) {
|
||||||
return List.of("dap-tool-other", "dap-tool-hr", "dap-tool-sms");
|
return List.of("dap-tool-oth", "dap-tool-hr", "dap-tool-sms");
|
||||||
}
|
}
|
||||||
|
|
||||||
return Arrays.stream(files).map(File::getName).sorted().collect(Collectors.toList());
|
return Arrays.stream(files).map(File::getName).sorted().collect(Collectors.toList());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return List.of("dap-tool-other", "dap-tool-hr", "dap-tool-sms");
|
return List.of("dap-tool-oth", "dap-tool-hr", "dap-tool-sms");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,10 +34,10 @@ mcp:
|
|||||||
gateway:
|
gateway:
|
||||||
url: http://localhost:${server.port}/mcp/api/v1
|
url: http://localhost:${server.port}/mcp/api/v1
|
||||||
fallback:
|
fallback:
|
||||||
default-url: http://tool-other:8084
|
default-url: http://tool-oth:8084
|
||||||
routes:
|
routes:
|
||||||
sms: http://tool-sms:8082
|
sms: http://tool-sms:8082
|
||||||
hr: http://tool-other:8084
|
hr: http://tool-oth:8084
|
||||||
tool:
|
tool:
|
||||||
host: localhost
|
host: localhost
|
||||||
|
|
||||||
|
|||||||
@@ -485,7 +485,7 @@
|
|||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label class="form-label">Target Module</label>
|
<label class="form-label">Target Module</label>
|
||||||
<select class="form-select" name="moduleName" id="targetModuleSelect" required>
|
<select class="form-select" name="moduleName" id="targetModuleSelect" required>
|
||||||
<option value="dap-tool-other">dap-tool-other</option>
|
<option value="dap-tool-oth">dap-tool-oth</option>
|
||||||
<option value="dap-tool-hr">dap-tool-hr</option>
|
<option value="dap-tool-hr">dap-tool-hr</option>
|
||||||
<option value="dap-tool-sms">dap-tool-sms</option>
|
<option value="dap-tool-sms">dap-tool-sms</option>
|
||||||
</select>
|
</select>
|
||||||
@@ -654,7 +654,7 @@
|
|||||||
.then(modules => {
|
.then(modules => {
|
||||||
const select = document.getElementById('targetModuleSelect');
|
const select = document.getElementById('targetModuleSelect');
|
||||||
if (modules && modules.length > 0) {
|
if (modules && modules.length > 0) {
|
||||||
select.innerHTML = modules.map(m => `<option value="${m}" ${m === 'dap-tool-other' ? 'selected' : ''}>${m}</option>`).join('');
|
select.innerHTML = modules.map(m => `<option value="${m}" ${m === 'dap-tool-oth' ? 'selected' : ''}>${m}</option>`).join('');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(err => console.error('Failed to load modules:', err));
|
.catch(err => console.error('Failed to load modules:', err));
|
||||||
|
|||||||
@@ -55,9 +55,9 @@ public class ToolScaffolder {
|
|||||||
if (routingType.trim().isEmpty()) {
|
if (routingType.trim().isEmpty()) {
|
||||||
routingType = "HTTP";
|
routingType = "HTTP";
|
||||||
}
|
}
|
||||||
String moduleName = getOrAsk(args, 5, scanner, "6. 코드를 생성할 모듈 (기본: dap-tool-other): ");
|
String moduleName = getOrAsk(args, 5, scanner, "6. 코드를 생성할 모듈 (기본: dap-tool-oth): ");
|
||||||
if (moduleName.trim().isEmpty()) {
|
if (moduleName.trim().isEmpty()) {
|
||||||
moduleName = "dap-tool-other";
|
moduleName = "dap-tool-oth";
|
||||||
}
|
}
|
||||||
|
|
||||||
String defaultAuthor = System.getProperty("user.name");
|
String defaultAuthor = System.getProperty("user.name");
|
||||||
|
|||||||
@@ -5,15 +5,15 @@ COPY gradle gradle
|
|||||||
COPY build.gradle settings.gradle ./
|
COPY build.gradle settings.gradle ./
|
||||||
|
|
||||||
COPY dap-tool-core dap-tool-core
|
COPY dap-tool-core dap-tool-core
|
||||||
COPY dap-tool-other dap-tool-other
|
COPY dap-tool-oth dap-tool-oth
|
||||||
RUN chmod +x gradlew
|
RUN chmod +x gradlew
|
||||||
RUN ./gradlew clean :dap-tool-other:build -x test
|
RUN ./gradlew clean :dap-tool-oth:build -x test
|
||||||
|
|
||||||
FROM eclipse-temurin:21-jre-alpine
|
FROM eclipse-temurin:21-jre-alpine
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN apk add --no-cache tzdata
|
RUN apk add --no-cache tzdata
|
||||||
ENV TZ=Asia/Seoul
|
ENV TZ=Asia/Seoul
|
||||||
COPY --from=builder /app/dap-tool-other/build/libs/*-SNAPSHOT.jar app.jar
|
COPY --from=builder /app/dap-tool-oth/build/libs/*-SNAPSHOT.jar app.jar
|
||||||
EXPOSE 8084
|
EXPOSE 8084
|
||||||
ENTRYPOINT ["java", "-jar", "app.jar"]
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package io.shinhanlife.dap.mcc.other;
|
package io.shinhanlife.dap.mcc.oth;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package io.shinhanlife.dap.mcc.other
|
* @package io.shinhanlife.dap.mcc.oth
|
||||||
* @className DapToolOtherApplication
|
* @className DapToolOthApplication
|
||||||
* @description AX HUB 시스템 처리 클래스
|
* @description AX HUB 시스템 처리 클래스
|
||||||
* @author 0986406
|
* @author 0986406
|
||||||
* @create 2026.09.01
|
* @create 2026.09.01
|
||||||
@@ -23,8 +23,8 @@ import org.springframework.cache.annotation.EnableCaching;
|
|||||||
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.lib.adapter", "io.shinhanlife.dap.lib.mcp", "io.shinhanlife.dap.lib.config", "io.shinhanlife.dap.lib.integration", "io.shinhanlife.dap.other"})
|
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.lib.adapter", "io.shinhanlife.dap.lib.mcp", "io.shinhanlife.dap.lib.config", "io.shinhanlife.dap.lib.integration", "io.shinhanlife.dap.other"})
|
||||||
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.lib.adapter", "io.shinhanlife.dap.lib.mcp", "io.shinhanlife.dap.lib.config", "io.shinhanlife.dap.lib.integration", "io.shinhanlife.dap.other"})
|
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.mcc", "io.shinhanlife.dap.lib.adapter", "io.shinhanlife.dap.lib.mcp", "io.shinhanlife.dap.lib.config", "io.shinhanlife.dap.lib.integration", "io.shinhanlife.dap.other"})
|
||||||
@EnableCaching
|
@EnableCaching
|
||||||
public class DapToolOtherApplication {
|
public class DapToolOthApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(DapToolOtherApplication.class, args);
|
SpringApplication.run(DapToolOthApplication.class, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@ server:
|
|||||||
port: 8084
|
port: 8084
|
||||||
spring:
|
spring:
|
||||||
application:
|
application:
|
||||||
name: dap-tool-other
|
name: dap-tool-oth
|
||||||
profiles:
|
profiles:
|
||||||
active: local
|
active: local
|
||||||
logging:
|
logging:
|
||||||
@@ -16,10 +16,10 @@
|
|||||||
<property name="HOSTNAME" value="${HOSTNAME}" />
|
<property name="HOSTNAME" value="${HOSTNAME}" />
|
||||||
|
|
||||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
<file>/swlog/dap-tool-other/A01/${HOSTNAME}_A01.log</file> <!-- 현재 로그가 쌓이는 파일 -->
|
<file>/swlog/dap-tool-oth/A01/${HOSTNAME}_A01.log</file> <!-- 현재 로그가 쌓이는 파일 -->
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||||
<!-- 매일 자정에 날짜를 붙여서 지난 로그를 분리 저장 -->
|
<!-- 매일 자정에 날짜를 붙여서 지난 로그를 분리 저장 -->
|
||||||
<fileNamePattern>/swlog/dap-tool-other/A01/${HOSTNAME}_A01_%d{yyyyMMdd}.log</fileNamePattern>
|
<fileNamePattern>/swlog/dap-tool-oth/A01/${HOSTNAME}_A01_%d{yyyyMMdd}.log</fileNamePattern>
|
||||||
<!-- 최대 30일치 로그만 보관하고 오래된 것은 자동 삭제 -->
|
<!-- 최대 30일치 로그만 보관하고 오래된 것은 자동 삭제 -->
|
||||||
<maxHistory>30</maxHistory>
|
<maxHistory>30</maxHistory>
|
||||||
</rollingPolicy>
|
</rollingPolicy>
|
||||||
@@ -63,10 +63,10 @@ services:
|
|||||||
- GLOW_COMMUNICATION_EAI_PORT=8080
|
- GLOW_COMMUNICATION_EAI_PORT=8080
|
||||||
- SPRING_PROFILES_ACTIVE=${ACTIVE_PROFILE:-local}
|
- SPRING_PROFILES_ACTIVE=${ACTIVE_PROFILE:-local}
|
||||||
|
|
||||||
tool-other:
|
tool-oth:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: dap-tool-other/Dockerfile
|
dockerfile: dap-tool-oth/Dockerfile
|
||||||
ports:
|
ports:
|
||||||
- "8284:8084"
|
- "8284:8084"
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -77,7 +77,7 @@ services:
|
|||||||
- SPRING_REDIS_PORT=6379
|
- SPRING_REDIS_PORT=6379
|
||||||
- SPRING_DATA_REDIS_PORT=6379
|
- SPRING_DATA_REDIS_PORT=6379
|
||||||
- AXHUB_GATEWAY_URL=http://gateway:8081
|
- AXHUB_GATEWAY_URL=http://gateway:8081
|
||||||
- AXHUB_TOOL_URL=http://tool-other:8084
|
- AXHUB_TOOL_URL=http://tool-oth:8084
|
||||||
- GLOW_COMMUNICATION_MCI_HOMT=http://mci-mock
|
- GLOW_COMMUNICATION_MCI_HOMT=http://mci-mock
|
||||||
- GLOW_COMMUNICATION_MCI_PORT=8080
|
- GLOW_COMMUNICATION_MCI_PORT=8080
|
||||||
- GLOW_COMMUNICATION_EXTMCI_HOMT=http://mci-mock
|
- GLOW_COMMUNICATION_EXTMCI_HOMT=http://mci-mock
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ services = compose['services']
|
|||||||
new_services = {}
|
new_services = {}
|
||||||
|
|
||||||
# Services to duplicate
|
# Services to duplicate
|
||||||
app_services = ['gateway', 'tool-sms', 'tool-email', 'tool-other', 'tool-payment']
|
app_services = ['gateway', 'tool-sms', 'tool-email', 'tool-oth', 'tool-payment']
|
||||||
|
|
||||||
for name, svc in services.items():
|
for name, svc in services.items():
|
||||||
if name in app_services:
|
if name in app_services:
|
||||||
|
|||||||
@@ -3,4 +3,4 @@ rootProject.name = 'dap-admin'
|
|||||||
include 'dap-gateway'
|
include 'dap-gateway'
|
||||||
include 'dap-tool-core'
|
include 'dap-tool-core'
|
||||||
include 'dap-tool-sms'
|
include 'dap-tool-sms'
|
||||||
include 'dap-tool-other'
|
include 'dap-tool-oth'
|
||||||
|
|||||||
Reference in New Issue
Block a user