HuggingFaceImageGenerator를 프로파일 기반으로 변경하여 빈 충돌 해결

- @Profile("huggingface") 추가로 기본 프로파일에서는 비활성화
- StableDiffusionImageGenerator를 기본 구현체로 사용
- content-service 배포 오류 해결
This commit is contained in:
cherry2250 2025-10-28 19:47:39 +09:00
parent 9305dfdb7f
commit b9514257b0
13 changed files with 273 additions and 1 deletions

View File

@ -0,0 +1,17 @@
---
command: "/deploy-actions-cicd-guide-back"
description: "백엔드 GitHub Actions CI/CD 파이프라인 가이드 작성"
---
@cicd
'백엔드GitHubActions파이프라인작성가이드'에 따라 GitHub Actions를 이용한 CI/CD 가이드를 작성해 주세요.
프롬프트에 '[실행정보]'항목이 없으면 수행을 중단하고 안내 메시지를 표시해 주세요.
{안내메시지}
'[실행정보]'섹션 하위에 아래 예와 같이 필요한 정보를 제시해 주세요.
[실행정보]
- ACR_NAME: acrdigitalgarage01
- RESOURCE_GROUP: rg-digitalgarage-01
- AKS_CLUSTER: aks-digitalgarage-01
- NAMESPACE: phonebill-dg0500

View File

@ -0,0 +1,18 @@
---
command: "/deploy-actions-cicd-guide-front"
description: "프론트엔드 GitHub Actions CI/CD 파이프라인 가이드 작성"
---
@cicd
'프론트엔드GitHubActions파이프라인작성가이드'에 따라 GitHub Actions를 이용한 CI/CD 가이드를 작성해 주세요.
프롬프트에 '[실행정보]'항목이 없으면 수행을 중단하고 안내 메시지를 표시해 주세요.
{안내메시지}
'[실행정보]'섹션 하위에 아래 예와 같이 필요한 정보를 제시해 주세요.
[실행정보]
- SYSTEM_NAME: phonebill
- ACR_NAME: acrdigitalgarage01
- RESOURCE_GROUP: rg-digitalgarage-01
- AKS_CLUSTER: aks-digitalgarage-01
- NAMESPACE: phonebill-dg0500

View File

@ -0,0 +1,7 @@
---
command: "/deploy-build-image-back"
description: "백엔드 컨테이너 이미지 작성"
---
@cicd
'백엔드컨테이너이미지작성가이드'에 따라 컨테이너 이미지를 작성해 주세요.

View File

@ -0,0 +1,7 @@
---
command: "/deploy-build-image-front"
description: "프론트엔드 컨테이너 이미지 작성"
---
@cicd
'프론트엔드컨테이너이미지작성가이드'에 따라 컨테이너 이미지를 작성해 주세요.

View File

@ -0,0 +1,64 @@
---
command: "/deploy-help"
description: "배포 작업 순서 및 명령어 안내"
---
# 배포 작업 순서
## 컨테이너 이미지 작성
### 백엔드
/deploy-build-image-back
- 백엔드 서비스들의 컨테이너 이미지를 작성합니다
### 프론트엔드
/deploy-build-image-front
- 프론트엔드 서비스의 컨테이너 이미지를 작성합니다
## 컨테이너 실행 가이드 작성
### 백엔드
/deploy-run-container-guide-back
- 백엔드 컨테이너 실행 가이드를 작성합니다
- [실행정보] 섹션에 ACR명, VM 접속 정보 제공 필요
### 프론트엔드
/deploy-run-container-guide-front
- 프론트엔드 컨테이너 실행 가이드를 작성합니다
- [실행정보] 섹션에 시스템명, ACR명, VM 접속 정보 제공 필요
## Kubernetes 배포 가이드 작성
### 백엔드
/deploy-k8s-guide-back
- 백엔드 서비스 Kubernetes 배포 가이드를 작성합니다
- [실행정보] 섹션에 ACR명, k8s명, 네임스페이스, 리소스 정보 제공 필요
### 프론트엔드
/deploy-k8s-guide-front
- 프론트엔드 서비스 Kubernetes 배포 가이드를 작성합니다
- [실행정보] 섹션에 시스템명, ACR명, k8s명, 네임스페이스, Gateway Host 정보 제공 필요
## CI/CD 파이프라인 작성
### Jenkins CI/CD
#### 백엔드
/deploy-jenkins-cicd-guide-back
- Jenkins를 이용한 백엔드 CI/CD 파이프라인 가이드를 작성합니다
- [실행정보] 섹션에 ACR_NAME, RESOURCE_GROUP, AKS_CLUSTER, NAMESPACE 제공 필요
#### 프론트엔드
/deploy-jenkins-cicd-guide-front
- Jenkins를 이용한 프론트엔드 CI/CD 파이프라인 가이드를 작성합니다
- [실행정보] 섹션에 SYSTEM_NAME, ACR_NAME, RESOURCE_GROUP, AKS_CLUSTER, NAMESPACE 제공 필요
### GitHub Actions CI/CD
#### 백엔드
/deploy-actions-cicd-guide-back
- GitHub Actions를 이용한 백엔드 CI/CD 파이프라인 가이드를 작성합니다
- [실행정보] 섹션에 ACR_NAME, RESOURCE_GROUP, AKS_CLUSTER, NAMESPACE 제공 필요
#### 프론트엔드
/deploy-actions-cicd-guide-front
- GitHub Actions를 이용한 프론트엔드 CI/CD 파이프라인 가이드를 작성합니다
- [실행정보] 섹션에 SYSTEM_NAME, ACR_NAME, RESOURCE_GROUP, AKS_CLUSTER, NAMESPACE 제공 필요
---
**참고**: 각 명령어 실행 시 [실행정보] 섹션에 필요한 정보를 함께 제공해야 합니다.

View File

@ -0,0 +1,17 @@
---
command: "/deploy-jenkins-cicd-guide-back"
description: "백엔드 Jenkins CI/CD 파이프라인 가이드 작성"
---
@cicd
'백엔드Jenkins파이프라인작성가이드'에 따라 Jenkins를 이용한 CI/CD 가이드를 작성해 주세요.
프롬프트에 '[실행정보]'항목이 없으면 수행을 중단하고 안내 메시지를 표시해 주세요.
{안내메시지}
'[실행정보]'섹션 하위에 아래 예와 같이 필요한 정보를 제시해 주세요.
[실행정보]
- ACR_NAME: acrdigitalgarage01
- RESOURCE_GROUP: rg-digitalgarage-01
- AKS_CLUSTER: aks-digitalgarage-01
- NAMESPACE: phonebill-dg0500

View File

@ -0,0 +1,18 @@
---
command: "/deploy-jenkins-cicd-guide-front"
description: "프론트엔드 Jenkins CI/CD 파이프라인 가이드 작성"
---
@cicd
'프론트엔드Jenkins파이프라인작성가이드'에 따라 Jenkins를 이용한 CI/CD 가이드를 작성해 주세요.
프롬프트에 '[실행정보]'항목이 없으면 수행을 중단하고 안내 메시지를 표시해 주세요.
{안내메시지}
'[실행정보]'섹션 하위에 아래 예와 같이 필요한 정보를 제시해 주세요.
[실행정보]
- SYSTEM_NAME: phonebill
- ACR_NAME: acrdigitalgarage01
- RESOURCE_GROUP: rg-digitalgarage-01
- AKS_CLUSTER: aks-digitalgarage-01
- NAMESPACE: phonebill-dg0500

View File

@ -0,0 +1,19 @@
---
command: "/deploy-k8s-guide-back"
description: "백엔드 Kubernetes 배포 가이드 작성"
---
@cicd
'백엔드배포가이드'에 따라 백엔드 서비스 배포 방법을 작성해 주세요.
프롬프트에 '[실행정보]'항목이 없으면 수행을 중단하고 안내 메시지를 표시해 주세요.
{안내메시지}
'[실행정보]'섹션 하위에 아래 예와 같이 필요한 정보를 제시해 주세요.
[실행정보]
- ACR명: acrdigitalgarage01
- k8s명: aks-digitalgarage-01
- 네임스페이스: tripgen
- 파드수: 2
- 리소스(CPU): 256m/1024m
- 리소스(메모리): 256Mi/1024Mi

View File

@ -0,0 +1,21 @@
---
command: "/deploy-k8s-guide-front"
description: "프론트엔드 Kubernetes 배포 가이드 작성"
---
@cicd
'프론트엔드배포가이드'에 따라 프론트엔드 서비스 배포 방법을 작성해 주세요.
프롬프트에 '[실행정보]'항목이 없으면 수행을 중단하고 안내 메시지를 표시해 주세요.
{안내메시지}
'[실행정보]'섹션 하위에 아래 예와 같이 필요한 정보를 제시해 주세요.
[실행정보]
- 시스템명: tripgen
- ACR명: acrdigitalgarage01
- k8s명: aks-digitalgarage-01
- 네임스페이스: tripgen
- 파드수: 2
- 리소스(CPU): 256m/1024m
- 리소스(메모리): 256Mi/1024Mi
- Gateway Host: http://tripgen-api.20.214.196.128.nip.io

View File

@ -0,0 +1,18 @@
---
command: "/deploy-run-container-guide-back"
description: "백엔드 컨테이너 실행방법 가이드 작성"
---
@cicd
'백엔드컨테이너실행방법가이드'에 따라 컨테이너 실행 가이드를 작성해 주세요.
프롬프트에 '[실행정보]'항목이 없으면 수행을 중단하고 안내 메시지를 표시해 주세요.
{안내메시지}
'[실행정보]'섹션 하위에 아래 예와 같이 필요한 정보를 제시해 주세요.
[실행정보]
- ACR명: acrdigitalgarage01
- VM
- KEY파일: ~/home/bastion-dg0500
- USERID: azureuser
- IP: 4.230.5.6

View File

@ -0,0 +1,19 @@
---
command: "/deploy-run-container-guide-front"
description: "프론트엔드 컨테이너 실행방법 가이드 작성"
---
@cicd
'프론트엔드컨테이너실행방법가이드'에 따라 컨테이너 실행 가이드를 작성해 주세요.
프롬프트에 '[실행정보]'항목이 없으면 수행을 중단하고 안내 메시지를 표시해 주세요.
{안내메시지}
'[실행정보]'섹션 하위에 아래 예와 같이 필요한 정보를 제시해 주세요.
[실행정보]
- 시스템명: tripgen
- ACR명: acrdigitalgarage01
- VM
- KEY파일: ~/home/bastion-dg0500
- USERID: azureuser
- IP: 4.230.5.6

View File

@ -30,9 +30,12 @@ import java.util.UUID;
* Hugging Face Inference API 이미지 생성 서비스 * Hugging Face Inference API 이미지 생성 서비스
* *
* Hugging Face Inference API를 사용하여 Stable Diffusion으로 이미지 생성 (무료) * Hugging Face Inference API를 사용하여 Stable Diffusion으로 이미지 생성 (무료)
*
* @Profile("huggingface") - huggingface 프로파일에서만 활성화
*/ */
@Slf4j @Slf4j
@Service @Service
@org.springframework.context.annotation.Profile("huggingface")
public class HuggingFaceImageGenerator implements GenerateImagesUseCase { public class HuggingFaceImageGenerator implements GenerateImagesUseCase {
private final HuggingFaceApiClient huggingFaceClient; private final HuggingFaceApiClient huggingFaceClient;

View File

@ -272,16 +272,60 @@ docker rmi content-service:latest
## 13. 빌드 결과 ## 13. 빌드 결과
### 빌드 수행 이력
#### 최신 빌드 (2025-10-28)
**1단계: JAR 빌드**
```bash
./gradlew content-service:clean content-service:bootJar
```
빌드 결과:
```
BUILD SUCCESSFUL in 8s
9 actionable tasks: 6 executed, 3 up-to-date
```
**2단계: Docker 이미지 빌드**
```bash
docker build \
--platform linux/amd64 \
--build-arg BUILD_LIB_DIR="content-service/build/libs" \
--build-arg ARTIFACTORY_FILE="content-service.jar" \
-f deployment/container/Dockerfile-backend \
-t content-service:latest .
```
빌드 결과:
- ✅ Build stage 완료 (openjdk:23-oraclelinux8)
- ✅ Run stage 완료 (openjdk:23-slim)
- ✅ 이미지 생성 완료
**3단계: 이미지 확인**
```bash
docker images | grep content-service
```
확인 결과:
```
content-service latest ff73258c94cc 15 seconds ago 393MB
```
### 빌드 정보 ### 빌드 정보
- **서비스명**: content-service - **서비스명**: content-service
- **JAR 파일**: content-service.jar - **JAR 파일**: content-service.jar
- **Docker 이미지**: content-service:latest - **Docker 이미지**: content-service:latest
- **이미지 ID**: ff73258c94cc
- **이미지 크기**: 393MB
- **노출 포트**: 8084 - **노출 포트**: 8084
### 빌드 일시 ### 빌드 일시
- **빌드 날짜**: 2025-10-27 - **최신 빌드**: 2025-10-28
- **이전 빌드**: 2025-10-27
### 환경 ### 환경
- **Base Image**: openjdk:23-slim - **Base Image**: openjdk:23-slim
- **Platform**: linux/amd64 - **Platform**: linux/amd64
- **User**: k8s (non-root) - **User**: k8s (non-root)
- **Java Version**: 23