2.5 KiB
2.5 KiB
BizCare 서버 배포 가이드 (exdev.co.kr + Jenkins)
개요
| 트랙 | 트리거 | 동작 |
|---|---|---|
| Track A | git push origin main |
post-receive → deploy-bizcare.sh |
| Track B | Jenkins BizCare-Pipeline |
deploy-bizcare.sh |
경로
| 항목 | 경로 |
|---|---|
| bare repo | /Volumes/ADATA/git/BizCare.git (또는 기존 BillCare.git) |
| work-tree | /Users/aidev/apps/BizCare (또는 기존 BillCare) |
| 배포 스크립트 | /Volumes/ADATA/git/deploy-bizcare.sh |
| 로그 | /Volumes/ADATA/logs/deploy/bizcare-deploy.log |
| HTTPS (정본) | https://bizcare.exdev.co.kr |
| HTTPS (구) | https://billcare.exdev.co.kr → bizcare 로 301 |
호스트 포트
| 서비스 | 포트 |
|---|---|
| frontend (Caddy upstream) | 83 |
| backend (직접 헬스체크) | 18082 |
| mysql | 3308 |
로컬 push
cd /Users/macbook/dev/billCare
git push origin main
HTTPS / TLS — bizcare.exdev.co.kr 활성화
1) DNS
bizcare.exdev.co.kr A(또는 CNAME) 레코드를 billcare.exdev.co.kr 과 동일 서버 IP로 추가합니다.
2) 인증서 발급
# 서버에서 (HTTP-01 webroot 준비된 상태)
chmod +x /Users/aidev/apps/BizCare/scripts/issue-bizcare-cert.sh
# 또는 work-tree 경로에 맞게
BIZCARE_DOMAIN=bizcare.exdev.co.kr \
ACME_WEBROOT=/var/www/certbot \
CERT_OUT=/Users/aidev/dev/exAIChatbot2.0/docker/nginx/certs/bizcare \
./scripts/issue-bizcare-cert.sh
| 항목 | 값 |
|---|---|
| URL | https://bizcare.exdev.co.kr |
| Caddy | ex-chatbot-caddy → host :83 |
| cert 경로 | .../nginx/certs/bizcare/{fullchain,privkey}.pem |
| 구 도메인 cert | .../nginx/certs/billcare/ (리다이렉트용) |
3) Caddy 스니펫 적용
scripts/caddy-bizcare.Caddyfile 내용을 ex-chatbot Caddyfile 에 import/반영합니다.
bizcare.exdev.co.kr→ reverse_proxyhost.docker.internal:83billcare.exdev.co.kr→https://bizcare.exdev.co.kr영구 리다이렉트
docker exec ex-chatbot-caddy caddy reload --config /etc/caddy/Caddyfile
4) CORS
배포 스크립트/APP_CORS_ORIGINS에 https://bizcare.exdev.co.kr 와 https://billcare.exdev.co.kr 가 모두 포함되어 있습니다. 컨테이너 재기동 후 반영됩니다.
cd /Users/aidev/apps/BizCare # work-tree
docker compose up -d --force-recreate backend
공유 인증서(stock/chatbot) SAN에 bizcare가 없어 별도 발급이 필요합니다.
gc-frontend에 acme-webroot가 마운트되어 있어야 갱신이 됩니다.