Skip to content

Commit a14846e

Browse files
authored
Merge pull request #502 from PromptPlace/develop
Develop
2 parents 783344d + f7df01a commit a14846e

3 files changed

Lines changed: 36 additions & 23 deletions

File tree

.dockerignore

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@ coverage
77
# 깃 관련 파일
88
.git
99
.gitignore
10+
.github
1011

1112
# 환경 변수
1213
.env
1314
.env.dev
15+
.env.local
16+
.env.*.local
1417

1518
# 로그 파일
19+
*.log
1620
npm-debug.log
1721
yarn-error.log
1822
pnpm-debug.log
@@ -27,4 +31,19 @@ docker-compose.yml
2731
.dockerignore
2832

2933
# 빌드에 필요 없는 파일
30-
README.md
34+
README.md
35+
*.md
36+
docs
37+
38+
# 테스트/임시 파일
39+
tests
40+
__tests__
41+
*.test.ts
42+
*.spec.ts
43+
44+
# IDE 설정
45+
.vscode
46+
.idea
47+
48+
# Swagger 산출물 (컨테이너 빌드 시 재생성)
49+
swagger.json

.github/workflows/deploy-develop.yml

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: deploy-dev
22

33
on:
44
push:
5-
branches: [ develop ]
5+
branches: [ develop ]
66
workflow_dispatch:
77

88
jobs:
@@ -48,27 +48,22 @@ jobs:
4848
${{ secrets.ENV_DEV_CONTENT }}
4949
EOF'
5050
51-
- name: Install, Generate & Build on server
52-
run: |
53-
ssh prod 'cd /opt/app-dev && pnpm install --frozen-lockfile && pnpm exec prisma generate && rm -rf dist && pnpm build'
54-
55-
# 테스트 DB 마이그레이션
51+
# 테스트 DB 마이그레이션 (npx로 prisma CLI 1회 호출 — EC2 build 단계 없이)
5652
- name: Run Prisma DB Push (Dev)
5753
run: |
5854
ssh prod << 'EOF'
5955
set -euo pipefail
6056
cd /opt/app-dev
61-
# .env.dev 파일을 로드하여 실행
62-
export $(cat .env.dev | xargs)
63-
pnpm exec prisma db push
57+
export $(grep -v '^#' .env.dev | xargs)
58+
npx --yes -p prisma@^6 prisma db push
6459
EOF
6560
66-
# 도커 빌드 전 디스크 용량 확보
67-
- name: Clean up unused Docker data on EC2
61+
# 도커 빌드 전 디스크 정리 (7일 이상 미사용 데이터만 — BuildKit 캐시 보존)
62+
- name: Prune stale Docker data on EC2
6863
run: |
69-
ssh prod 'sudo docker system prune -af'
64+
ssh prod 'sudo docker system prune -f --filter "until=168h" || true'
7065
71-
# app-dev 컨테이너만 재시작 (운영 컨테이너 app, caddy는 건드리지 않음)
66+
# app-dev 컨테이너만 빌드/재시작 (install/generate/build는 Dockerfile 멀티스테이지로 통합)
7267
- name: Deploy Docker services (Dev)
7368
run: |
74-
ssh prod 'cd /opt/app-dev && sudo docker compose -p promptplace -f docker-compose.yml up -d --build app-dev'
69+
ssh prod 'cd /opt/app-dev && sudo docker compose -p promptplace -f docker-compose.yml up -d --build app-dev'

.github/workflows/deploy-main.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
workflow_dispatch:
77

88
jobs:
9-
deploy:
9+
deploy:
1010
runs-on: ubuntu-latest
1111
permissions:
1212
contents: read
@@ -53,23 +53,22 @@ jobs:
5353
${{ secrets.ENV_CONTENT }}
5454
EOF'
5555
56-
- name: Install, Generate & Build on server
57-
run: |
58-
ssh prod 'cd /opt/app-backup && pnpm install --frozen-lockfile && pnpm exec prisma generate && rm -rf dist && pnpm build'
59-
56+
# Prisma 마이그레이션 (npx로 prisma CLI 1회 호출 — EC2 build 단계 없이)
6057
- name: Run Prisma migrations (deploy)
6158
if: steps.paths-filter.outputs.prisma == 'true'
6259
run: |
6360
ssh prod << 'EOF'
6461
set -euo pipefail
6562
cd /opt/app-backup
66-
pnpm exec prisma migrate deploy
63+
export $(grep -v '^#' .env | xargs)
64+
npx --yes -p prisma@^6 prisma migrate deploy
6765
EOF
6866
6967
- name: Stop and Remove old containers
7068
run: |
7169
ssh prod 'cd /opt/app-backup && sudo docker rm -f myapp || true && sudo docker rm -f caddy || true'
7270
71+
# Docker 빌드/배포 (install/generate/build는 Dockerfile 멀티스테이지로 통합)
7372
- name: Deploy Docker services
74-
run: |
75-
ssh prod 'cd /opt/app-backup && sudo docker compose -p promptplace -f docker-compose.yml up -d --build app caddy'
73+
run: |
74+
ssh prod 'cd /opt/app-backup && sudo docker compose -p promptplace -f docker-compose.yml up -d --build app caddy'

0 commit comments

Comments
 (0)