feat: tkreport/tkqc UX 개선 - 신고 완료 모달, 크로스시스템 배너, AI 도우미 가시성
- 신고 제출 후 alert → 성공 모달로 교체 (신고현황/새신고 버튼) - cross-nav.js: tkreport 페이지 상단 크로스시스템 네비게이션 배너 - report-status.html: AI 신고 도우미 버튼 추가 - common-header.js: tkqc 헤더에 "신고" 외부 링크 추가 - 배포 스크립트/가이드 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# TK Factory Services - NAS 배포 가이드
|
||||
|
||||
> 최종 업데이트: 2026-02-09
|
||||
> 최종 업데이트: 2026-03-12
|
||||
|
||||
## 아키텍처 개요
|
||||
|
||||
@@ -128,21 +128,38 @@ cp -r /volume1/docker/tkqc/tkqc-package/uploads \
|
||||
/volume1/docker/backups/$(date +%Y%m%d)/tkqc-uploads
|
||||
```
|
||||
|
||||
### Step 2: 프로젝트 NAS 전송
|
||||
### Step 2: 프로젝트 NAS 전송 (git 기반)
|
||||
|
||||
NAS에 git이 설치되어 있으므로, Gitea에서 직접 clone/pull 합니다.
|
||||
|
||||
**최초 설정 (1회):**
|
||||
```bash
|
||||
# 로컬 Mac에서 실행
|
||||
# node_modules 제외하여 전송
|
||||
rsync -avz --exclude='node_modules' --exclude='.env' --exclude='__pycache__' \
|
||||
-e ssh /Users/hyungiahn/Documents/code/tk-factory-services/ \
|
||||
hyungi@192.168.0.3:/volume1/docker/tk-factory-services/
|
||||
# NAS SSH 접속
|
||||
ssh hyungi@192.168.0.3
|
||||
|
||||
# .env 파일 별도 전송
|
||||
scp -O /Users/hyungiahn/Documents/code/tk-factory-services/.env \
|
||||
hyungi@192.168.0.3:/volume1/docker/tk-factory-services/.env
|
||||
# git credential 저장 설정
|
||||
git config --global credential.helper store
|
||||
|
||||
# 기존 배포 디렉토리 백업 후 clone
|
||||
cd /volume1/docker_1/
|
||||
mv tk-factory-services tk-factory-services.bak
|
||||
git clone https://git.hyungi.net/hyungi/tk-factory-services.git
|
||||
|
||||
# 기존 .env 복원
|
||||
cp tk-factory-services.bak/.env tk-factory-services/.env
|
||||
|
||||
# 확인 후 백업 삭제
|
||||
cd tk-factory-services && git log -1
|
||||
rm -rf ../tk-factory-services.bak
|
||||
```
|
||||
|
||||
> **참고**: Synology에서 `scp`는 `-O` 옵션 필수 (레거시 프로토콜)
|
||||
**이후 배포 (맥북에서 원커맨드):**
|
||||
```bash
|
||||
# 맥북에서 실행 - 자동으로 push 확인, NAS 비교, 빌드, health check 수행
|
||||
./scripts/deploy-remote.sh
|
||||
```
|
||||
|
||||
> **참고**: 설정 파일 `~/.tk-deploy-config` 필요 (아래 "원격 배포 스크립트" 섹션 참고)
|
||||
|
||||
### Step 3: 기존 서비스 중지
|
||||
|
||||
@@ -220,13 +237,60 @@ curl -s http://localhost:30050/api/health # SSO Auth
|
||||
|
||||
---
|
||||
|
||||
## 원격 배포 스크립트
|
||||
|
||||
맥북에서 원커맨드로 배포/확인/롤백할 수 있는 스크립트입니다.
|
||||
|
||||
### 설정 파일
|
||||
|
||||
`~/.tk-deploy-config` 생성 (git 추적 안 함):
|
||||
```bash
|
||||
NAS_HOST=100.71.132.52
|
||||
NAS_USER=hyungi
|
||||
NAS_DEPLOY_PATH=/volume1/docker_1/tk-factory-services
|
||||
NAS_SUDO_PASS=<sudo 비밀번호>
|
||||
```
|
||||
|
||||
### 사용법
|
||||
|
||||
```bash
|
||||
# 배포 (pre-flight 체크 → NAS 비교 → 빌드 → health check → 로그 기록)
|
||||
./scripts/deploy-remote.sh
|
||||
|
||||
# 배포 상태 확인 (NAS 버전, origin 대비 차이, 컨테이너 상태)
|
||||
./scripts/check-version.sh
|
||||
|
||||
# 특정 커밋으로 롤백
|
||||
./scripts/rollback-remote.sh <commit-hash>
|
||||
```
|
||||
|
||||
### 배포 흐름
|
||||
|
||||
1. 로컬에서 코드 수정 → `git commit` → `git push`
|
||||
2. `./scripts/deploy-remote.sh` 실행
|
||||
3. 스크립트가 자동으로: 로컬 clean 확인 → origin push 확인 → NAS 버전 비교 → 배포될 커밋 표시 → 사용자 확인 → git pull → docker build → nginx 재시작 → health check
|
||||
|
||||
---
|
||||
|
||||
## 롤백 방법
|
||||
|
||||
문제 발생 시 기존 서비스로 복원:
|
||||
### git 기반 롤백 (권장)
|
||||
|
||||
```bash
|
||||
# 맥북에서 실행 - 특정 커밋으로 롤백
|
||||
./scripts/rollback-remote.sh <commit-hash>
|
||||
|
||||
# 최근 커밋 목록 확인
|
||||
git log --oneline -10
|
||||
```
|
||||
|
||||
### 레거시 서비스 복원 (통합 이전으로)
|
||||
|
||||
문제 발생 시 기존 개별 서비스로 복원:
|
||||
|
||||
```bash
|
||||
# 통합 서비스 중지
|
||||
cd /volume1/docker/tk-factory-services
|
||||
cd /volume1/docker_1/tk-factory-services
|
||||
echo 'fukdon-riwbaq-fiQfy2' | sudo -S /usr/local/bin/docker compose down
|
||||
|
||||
# TK-FB 복원
|
||||
|
||||
Reference in New Issue
Block a user