feat: harden auth ops and deployment baseline
This commit is contained in:
+17
-26
@@ -1,7 +1,7 @@
|
||||
# TaxBaik 프로덕션 배포 체크리스트
|
||||
|
||||
**작성일**: 2026-06-26
|
||||
**상태**: 배포 준비 완료
|
||||
**상태**: 운영 기준 정비 중
|
||||
**대상**: 178.104.200.7 (Ubuntu 26.04)
|
||||
|
||||
---
|
||||
@@ -11,7 +11,7 @@
|
||||
### 1. 코드 검증
|
||||
- [ ] `dotnet build TaxBaik.sln -c Release` 성공
|
||||
- [ ] 모든 컴파일 오류 0개
|
||||
- [ ] 경고 무시 (NuGet 보안 정보만)
|
||||
- [ ] 경고 0개 유지
|
||||
|
||||
### 2. Git 상태 확인
|
||||
- [ ] 모든 변경사항 커밋됨
|
||||
@@ -20,12 +20,10 @@
|
||||
|
||||
### 3. 발행 검증
|
||||
```bash
|
||||
dotnet publish TaxBaik.Web -c Release -o ./publish/web
|
||||
dotnet publish TaxBaik.Admin -c Release -o ./publish/admin
|
||||
dotnet publish TaxBaik.Web -c Release -o ./publish
|
||||
|
||||
# 확인
|
||||
ls -lh ./publish/web/TaxBaik.Web.dll
|
||||
ls -lh ./publish/admin/TaxBaik.Admin.dll
|
||||
ls -lh ./publish/TaxBaik.Web.dll
|
||||
```
|
||||
|
||||
---
|
||||
@@ -47,7 +45,7 @@ ssh kjh2064@178.104.200.7 'bash ~/SERVER_SETUP.sh'
|
||||
# 3. 배포 디렉토리 생성 (자동으로 진행됨)
|
||||
# ~/deployments/
|
||||
# ~/taxbaik_active
|
||||
# ~/taxbaik_admin_active
|
||||
# ~/taxbaik_active
|
||||
```
|
||||
|
||||
### 2단계: 첫 배포 (수동)
|
||||
@@ -61,18 +59,14 @@ export DEPLOY_USER="kjh2064"
|
||||
export DEPLOY_HOST="178.104.200.7"
|
||||
|
||||
# 배포
|
||||
rsync -avz --delete ./publish/web/ \
|
||||
rsync -avz --delete ./publish/ \
|
||||
$DEPLOY_USER@$DEPLOY_HOST:~/deployments/taxbaik_${TIMESTAMP}/
|
||||
|
||||
rsync -avz --delete ./publish/admin/ \
|
||||
$DEPLOY_USER@$DEPLOY_HOST:~/deployments/taxbaik_admin_${TIMESTAMP}/
|
||||
|
||||
# 심링크 변경 및 시작
|
||||
ssh $DEPLOY_USER@$DEPLOY_HOST << EOF
|
||||
ln -sfn ~/deployments/taxbaik_${TIMESTAMP} ~/taxbaik_active
|
||||
ln -sfn ~/deployments/taxbaik_admin_${TIMESTAMP} ~/taxbaik_admin_active
|
||||
sudo systemctl start taxbaik taxbaik-admin
|
||||
sudo systemctl status taxbaik taxbaik-admin
|
||||
sudo systemctl start taxbaik
|
||||
sudo systemctl status taxbaik
|
||||
EOF
|
||||
```
|
||||
|
||||
@@ -95,13 +89,13 @@ EOF
|
||||
ssh kjh2064@178.104.200.7
|
||||
|
||||
# 서비스 상태
|
||||
sudo systemctl status taxbaik taxbaik-admin
|
||||
sudo systemctl status taxbaik
|
||||
|
||||
# 프로세스 확인
|
||||
ps aux | grep TaxBaik
|
||||
|
||||
# 포트 확인
|
||||
netstat -tlnp | grep -E '5001|5002'
|
||||
netstat -tlnp | grep -E '5001'
|
||||
```
|
||||
|
||||
### 2. 엔드포인트 테스트
|
||||
@@ -145,9 +139,6 @@ SELECT COUNT(*) FROM categories;
|
||||
# 웹 서비스
|
||||
journalctl -u taxbaik -n 50
|
||||
|
||||
# 관리자 서비스
|
||||
journalctl -u taxbaik-admin -n 50
|
||||
|
||||
# Nginx
|
||||
sudo tail -f /var/log/nginx/access.log | grep taxbaik
|
||||
```
|
||||
@@ -197,7 +188,7 @@ curl -I -H "Accept-Encoding: gzip" http://178.104.200.7/taxbaik/ | grep -i encod
|
||||
- [ ] 로그인 폼 표시
|
||||
- [ ] 초기 계정 로그인
|
||||
- username: `admin`
|
||||
- password: `admin123`
|
||||
- password: `<TAXBAIK_ADMIN_TEST_PASSWORD>`
|
||||
|
||||
#### 대시보드
|
||||
- [ ] 로그인 후 대시보드 로드
|
||||
@@ -242,8 +233,8 @@ curl -I -H "Accept-Encoding: gzip" http://178.104.200.7/taxbaik/ | grep -i encod
|
||||
# 터미널 1: 웹 서비스 로그
|
||||
ssh kjh2064@178.104.200.7 'journalctl -u taxbaik -f'
|
||||
|
||||
# 터미널 2: 관리자 서비스 로그
|
||||
ssh kjh2064@178.104.200.7 'journalctl -u taxbaik-admin -f'
|
||||
# 터미널 2: 통합 서비스 로그
|
||||
ssh kjh2064@178.104.200.7 'journalctl -u taxbaik -f'
|
||||
|
||||
# 터미널 3: Nginx 로그
|
||||
ssh kjh2064@178.104.200.7 'sudo tail -f /var/log/nginx/access.log | grep taxbaik'
|
||||
@@ -261,7 +252,7 @@ ssh kjh2064@178.104.200.7 'watch -n 1 "ps aux | grep TaxBaik"'
|
||||
# 내용:
|
||||
#!/bin/bash
|
||||
curl -f http://127.0.0.1:5001/taxbaik || systemctl restart taxbaik
|
||||
curl -f http://127.0.0.1:5002/taxbaik/admin || systemctl restart taxbaik-admin
|
||||
curl -f http://127.0.0.1:5001/taxbaik/admin/login || systemctl restart taxbaik
|
||||
```
|
||||
|
||||
---
|
||||
@@ -279,8 +270,8 @@ git push origin master
|
||||
# 2. Gitea Actions가 자동으로 배포
|
||||
# 또는 수동 배포:
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
dotnet publish TaxBaik.Web -c Release -o ./publish/web
|
||||
rsync -avz ./publish/web/ kjh2064@178.104.200.7:~/deployments/taxbaik_${TIMESTAMP}/
|
||||
dotnet publish TaxBaik.Web -c Release -o ./publish
|
||||
rsync -avz ./publish/ kjh2064@178.104.200.7:~/deployments/taxbaik_${TIMESTAMP}/
|
||||
ssh kjh2064@178.104.200.7 "ln -sfn ~/deployments/taxbaik_${TIMESTAMP} ~/taxbaik_active && sudo systemctl restart taxbaik"
|
||||
```
|
||||
|
||||
@@ -306,7 +297,7 @@ EOF
|
||||
- [ ] 모든 엔드포인트 HTTP 200 응답
|
||||
- [ ] 데이터베이스 마이그레이션 완료 (schema_migrations 테이블 확인)
|
||||
- [ ] 초기 5개 블로그 포스트 DB에 존재
|
||||
- [ ] 로그인 기능 정상 (admin/admin123)
|
||||
- [ ] 로그인 기능 정상 (admin/<TAXBAIK_ADMIN_TEST_PASSWORD>)
|
||||
- [ ] 문의 폼 제출 → DB 저장 확인
|
||||
- [ ] Nginx 프록시 정상 작동
|
||||
- [ ] 응답 gzip 압축 확인
|
||||
|
||||
Reference in New Issue
Block a user