38 lines
1.2 KiB
YAML
38 lines
1.2 KiB
YAML
name: Deploy to OCIWP
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- master
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Deploy Task on Host
|
|
run: |
|
|
echo "Starting Standard CI/CD Deploy pipeline..."
|
|
|
|
# 1. gradle 공식 이미지로 바로 컴파일 빌드!
|
|
docker run --rm \
|
|
-v /home/ubuntu/app/ax_hub_mcp_tool:/app \
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
-v /home/ubuntu/.gradle:/home/gradle/.gradle \
|
|
-w /app \
|
|
gradle:8-jdk21 \
|
|
./gradlew bootJar -x test
|
|
|
|
# 2. 빌드 결과 plain jar 아카이브 정리
|
|
find /app -name "*-plain.jar" -delete
|
|
|
|
# 3. 마운트된 /app 디렉토리로 이동하여 호스트의 도커 컴포즈 제어! (러너 자신을 파괴하지 않고 나머지 서비스만 안전하게 재생성)
|
|
cd /app
|
|
docker compose up -d --build gateway redis mci-mock dozzle tool-sms tool-email tool-other tool-payment
|
|
|
|
# 4. 배포 후 대롱대롱 매달려 있는 가비지 이미지 자동 소거 청소!
|
|
docker image prune -f
|
|
|
|
echo "CI/CD Deploy Success!"
|