Skip to content

Commit ca42657

Browse files
committed
Merge remote-tracking branch 'origin/main' into deploy
2 parents d5a25de + 8b8a121 commit ca42657

File tree

7 files changed

+152
-11
lines changed

7 files changed

+152
-11
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# ===================================================================
2+
# Python FastAPI 빌드 검증 워크플로우 (CI Only)
3+
# ===================================================================
4+
#
5+
# 설명:
6+
# - main 브랜치에 push 시 Docker 빌드가 정상적으로 되는지만 검증
7+
# - 배포는 수행하지 않음 (deploy 브랜치에서만 배포)
8+
#
9+
# ===================================================================
10+
11+
name: PROJECT-PYTHON-CI
12+
13+
# ===================================================================
14+
# 트리거 설정
15+
# ===================================================================
16+
on:
17+
push:
18+
branches:
19+
- main # main 브랜치 push 시 빌드 검증
20+
pull_request:
21+
branches:
22+
- main # main 브랜치로의 PR 시 빌드 검증
23+
workflow_dispatch: # 수동 실행 허용
24+
25+
# ===================================================================
26+
# 환경 변수 설정
27+
# ===================================================================
28+
env:
29+
# 🔧 프로젝트 설정
30+
PROJECT_NAME: "mapsee-ai"
31+
32+
# 🐍 Python 설정
33+
PYTHON_VERSION: "3.13"
34+
35+
jobs:
36+
# ===================================================================
37+
# 빌드 검증 작업
38+
# ===================================================================
39+
build-check:
40+
name: Python FastAPI 빌드 검증
41+
runs-on: ubuntu-latest
42+
43+
steps:
44+
# 1. 소스코드 체크아웃
45+
- name: 코드 체크아웃
46+
uses: actions/checkout@v4
47+
48+
# 2. .env 파일 생성 (빌드 검증용)
49+
- name: .env 파일 생성
50+
run: |
51+
cat > .env << 'EOF'
52+
${{ secrets.ENV_FILE }}
53+
EOF
54+
echo "✅ .env 파일이 생성되었습니다"
55+
56+
# 3. Docker 빌드 환경 설정
57+
- name: Docker 빌드환경 설정
58+
uses: docker/setup-buildx-action@v3
59+
60+
# 4. Docker 이미지 빌드 (push 없이 검증만)
61+
- name: Docker 이미지 빌드 검증
62+
uses: docker/build-push-action@v5
63+
with:
64+
context: .
65+
file: ./Dockerfile
66+
push: false # 푸시하지 않음 (빌드 검증만)
67+
tags: ${{ env.PROJECT_NAME }}:build-check
68+
# GitHub Actions 캐시 사용
69+
cache-from: type=gha
70+
cache-to: type=gha,mode=max
71+
72+
# 5. 빌드 성공 메시지
73+
- name: 빌드 검증 완료
74+
run: |
75+
echo "✅ Docker 빌드 검증이 성공적으로 완료되었습니다!"
76+
echo ""
77+
echo "📋 빌드 정보:"
78+
echo " 🎯 프로젝트: ${{ env.PROJECT_NAME }}"
79+
echo " 🌿 브랜치: ${{ github.ref_name }}"
80+
echo " 📝 커밋: ${{ github.sha }}"
81+
echo " ⏰ 검증 시간: $(date '+%Y-%m-%d %H:%M:%S')"

.github/workflows/PROJECT-PYTHON-CICD.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ name: PROJECT-PYTHON-CICD
2020
# │ SERVER_HOST │ 배포 대상 서버 IP/도메인 │
2121
# │ SERVER_USER │ 서버 SSH 접속 사용자명 │
2222
# │ SERVER_PASSWORD │ 서버 SSH 접속 비밀번호 │
23-
#ENV │ .env 파일 전체 내용 │
23+
#ENV_FILE │ .env 파일 전체 내용 │
2424
# └─────────────────────────────┴────────────────────────────────────┘
2525
#
2626
# 🧪 선택적 Secrets (test 브랜치 사용시에만):
@@ -86,7 +86,7 @@ jobs:
8686
- name: .env 파일 생성
8787
run: |
8888
cat > .env << 'EOF'
89-
${{ secrets.ENV }}
89+
${{ secrets.ENV_FILE }}
9090
EOF
9191
echo "✅ .env 파일이 생성되었습니다"
9292

CHANGELOG.json

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,35 @@
11
{
22
"metadata": {
3-
"lastUpdated": "2026-01-11T15:07:27Z",
4-
"currentVersion": "0.0.11",
3+
"lastUpdated": "2026-01-11T15:34:03Z",
4+
"currentVersion": "0.1.1",
55
"projectType": "python",
6-
"totalReleases": 1
6+
"totalReleases": 2
77
},
88
"releases": [
9+
{
10+
"version": "0.1.1",
11+
"project_type": "python",
12+
"date": "2026-01-11",
13+
"pr_number": 8,
14+
"raw_summary": "## Summary by CodeRabbit\n\n* **Documentation**\n * README의 최신 버전 정보를 v0.1.1로 반영하여 업데이트\n\n* **Chores**\n * 애플리케이션 버전을 0.1.1로 업그레이드하고 버전 메타데이터 갱신\n * main 브랜치의 푸시 및 풀 요청에 대해 Python FastAPI Docker 빌드를 자동으로 검증하는 CI 워크플로우 추가\n * Docker 이미지에서 Playwright Chromium 브라우저와 필수 시스템 의존성을 지원하도록 설정",
15+
"parsed_changes": {
16+
"documentation": {
17+
"title": "Documentation",
18+
"items": [
19+
"README의 최신 버전 정보를 v0.1.1로 반영하여 업데이트"
20+
]
21+
},
22+
"chores": {
23+
"title": "Chores",
24+
"items": [
25+
"애플리케이션 버전을 0.1.1로 업그레이드하고 버전 메타데이터 갱신",
26+
"main 브랜치의 푸시 및 풀 요청에 대해 Python FastAPI Docker 빌드를 자동으로 검증하는 CI 워크플로우 추가",
27+
"Docker 이미지에서 Playwright Chromium 브라우저와 필수 시스템 의존성을 지원하도록 설정"
28+
]
29+
}
30+
},
31+
"parse_method": "markdown"
32+
},
933
{
1034
"version": "0.0.11",
1135
"project_type": "python",

CHANGELOG.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
# Changelog
22

3-
**현재 버전:** 0.0.11
4-
**마지막 업데이트:** 2026-01-11T15:07:27Z
3+
**현재 버전:** 0.1.1
4+
**마지막 업데이트:** 2026-01-11T15:34:03Z
5+
6+
---
7+
8+
## [0.1.1] - 2026-01-11
9+
10+
**PR:** #8
11+
12+
**Documentation**
13+
- README의 최신 버전 정보를 v0.1.1로 반영하여 업데이트
14+
15+
**Chores**
16+
- 애플리케이션 버전을 0.1.1로 업그레이드하고 버전 메타데이터 갱신
17+
- main 브랜치의 푸시 및 풀 요청에 대해 Python FastAPI Docker 빌드를 자동으로 검증하는 CI 워크플로우 추가
18+
- Docker 이미지에서 Playwright Chromium 브라우저와 필수 시스템 의존성을 지원하도록 설정
519

620
---
721

Dockerfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
# 설명:
66
# - FastAPI 애플리케이션을 위한 멀티 스테이지 Dockerfile
77
# - faster-whisper를 위한 ffmpeg 설치 포함
8+
# - Playwright 브라우저 (Chromium) 설치 포함
89
# - uv를 사용한 빠른 의존성 설치
910
#
1011
# 빌드 구조:
1112
# - Python 3.13 기반
1213
# - ffmpeg 및 시스템 의존성 설치
14+
# - Playwright Chromium 브라우저 설치
1315
# - uv를 통한 패키지 관리
1416
#
1517
# ===================================================================
@@ -22,9 +24,26 @@ WORKDIR /app
2224
# 시스템 의존성 설치
2325
# - ffmpeg: faster-whisper의 오디오 처리를 위해 필요
2426
# - curl: 헬스체크 및 다운로드용
27+
# - Playwright Chromium 실행에 필요한 시스템 라이브러리
2528
RUN apt-get update && apt-get install -y \
2629
ffmpeg \
2730
curl \
31+
# Playwright Chromium 의존성
32+
libnss3 \
33+
libnspr4 \
34+
libatk1.0-0 \
35+
libatk-bridge2.0-0 \
36+
libcups2 \
37+
libdrm2 \
38+
libxkbcommon0 \
39+
libxcomposite1 \
40+
libxdamage1 \
41+
libxfixes3 \
42+
libxrandr2 \
43+
libgbm1 \
44+
libasound2 \
45+
libpango-1.0-0 \
46+
libcairo2 \
2847
&& rm -rf /var/lib/apt/lists/*
2948

3049
# uv 설치 (빠른 Python 패키지 매니저)
@@ -39,6 +58,9 @@ COPY .env ./
3958
# uv를 사용하여 빠르게 설치
4059
RUN uv pip install --system --no-cache .
4160

61+
# Playwright 브라우저 설치 (Chromium만 설치하여 이미지 크기 최소화)
62+
RUN playwright install chromium
63+
4264
# 타임존 설정 (Asia/Seoul)
4365
ENV TZ=Asia/Seoul
4466
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# MapSee-AI
22

33
<!-- 수정하지마세요 자동으로 동기화 됩니다 -->
4-
## 최신 버전 : v0.0.4 (2026-01-11)
4+
## 최신 버전 : v0.0.11 (2026-01-11)
55

66
[전체 버전 기록 보기](CHANGELOG.md)
77

version.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@
3434
# - 버전은 항상 높은 버전으로 자동 동기화됩니다
3535
# ===================================================================
3636

37-
version: "0.0.11"
38-
version_code: 11 # app build number
37+
version: "0.1.1"
38+
version_code: 14 # app build number
3939
project_type: "python" # spring, flutter, react, react-native, react-native-expo, node, python, basic
4040
metadata:
41-
last_updated: "2026-01-11 15:04:27"
41+
last_updated: "2026-01-11 15:32:48"
4242
last_updated_by: "Cassiiopeia"
4343
default_branch: "main"
4444
integrated_from: "SUH-DEVOPS-TEMPLATE"

0 commit comments

Comments
 (0)