ea46fe7817
CI 워크플로는 저장소에 있지만 실행 주체(러너)가 없어 동작하지 않는 상태였다. 러너가 없으면 워크플로는 "Waiting for a runner" 로 대기만 한다. - ci/docker-compose.runner.yml — act_runner 를 별도 스택으로 분리. 앱 스택은 개발할 때만 띄우지만 러너는 항상 켜져 있어야 하므로 생명주기가 다르다. - ci/.env.example — 등록 토큰은 ci/.env 에만 두며 커밋되지 않는다. - ci/README.md — 설치 절차, 증상별 문제 해결, 잡별 리소스 특성. - 라벨 기본값이 워크플로의 runs-on(ubuntu-latest)과 일치하는지 교차 확인했다. 불일치는 잡이 영원히 대기하는 가장 흔한 원인이다. 러너가 도커 소켓에 접근해 사실상 호스트 관리자 권한을 갖는다는 점도 문서에 명시했다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
60 lines
1.3 KiB
Plaintext
60 lines
1.3 KiB
Plaintext
# ==========================================
|
|
# 환경 변수 (민감정보) — 절대 커밋 금지
|
|
# ==========================================
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
!.env.*.example
|
|
|
|
# ==========================================
|
|
# 도커 영속 데이터
|
|
# ==========================================
|
|
# ⚠️ 루트 기준으로 고정한다(앞의 /). 'data/' 로 두면 모든 depth 의 data 디렉터리가 무시되어
|
|
# flutter/lib/features/<도메인>/data/ 같은 소스 코드까지 커밋되지 않는다.
|
|
/data/
|
|
!/data/.gitkeep
|
|
/db-data/
|
|
/redis-data/
|
|
# CI 러너 등록 정보
|
|
ci/runner-data/
|
|
# 업로드 파일 (로컬 저장) — 코드가 아니다
|
|
/data/uploads/
|
|
backend/uploads/
|
|
|
|
# ==========================================
|
|
# 의존성/빌드 산출물
|
|
# ==========================================
|
|
node_modules/
|
|
dist/
|
|
build/
|
|
coverage/
|
|
.tsbuildinfo
|
|
*.tsbuildinfo
|
|
|
|
# ==========================================
|
|
# 로그
|
|
# ==========================================
|
|
logs/
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
pnpm-debug.log*
|
|
|
|
# ==========================================
|
|
# IDE / OS
|
|
# ==========================================
|
|
.idea/
|
|
.vscode/*
|
|
!.vscode/extensions.json
|
|
!.vscode/settings.json
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# ==========================================
|
|
# 캐시
|
|
# ==========================================
|
|
.cache/
|
|
.eslintcache
|
|
.npm/
|