수정정
This commit is contained in:
parent
b3df6fb72e
commit
3460a7f5fd
|
|
@ -9,17 +9,20 @@ services:
|
||||||
ACCEPT_EULA: Y
|
ACCEPT_EULA: Y
|
||||||
SA_PASSWORD: ${SA_PASSWORD:-wace0909!!}
|
SA_PASSWORD: ${SA_PASSWORD:-wace0909!!}
|
||||||
MSSQL_PID: ${MSSQL_PID:-Express}
|
MSSQL_PID: ${MSSQL_PID:-Express}
|
||||||
|
MSSQL_ENCRYPT: 'false'
|
||||||
|
MSSQL_TRUST_SERVER_CERTIFICATE: 'true'
|
||||||
TZ: Asia/Seoul
|
TZ: Asia/Seoul
|
||||||
ports:
|
ports:
|
||||||
- "11433:1433"
|
- "11433:1433"
|
||||||
volumes:
|
volumes:
|
||||||
- mssql_data:/var/opt/mssql
|
- mssql_data:/var/opt/mssql
|
||||||
- ./mssql-init:/docker-entrypoint-initdb.d
|
|
||||||
- ./mssql-backup:/var/opt/mssql/backup
|
- ./mssql-backup:/var/opt/mssql/backup
|
||||||
networks:
|
networks:
|
||||||
- mssql_network
|
- mssql_network
|
||||||
hostname: mssql-server
|
hostname: mssql-server
|
||||||
user: root
|
user: root
|
||||||
|
mem_limit: 2g
|
||||||
|
cpus: 2
|
||||||
|
|
||||||
# MSSQL 관리용 Adminer (선택사항)
|
# MSSQL 관리용 Adminer (선택사항)
|
||||||
mssql-adminer:
|
mssql-adminer:
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Git 강제 업데이트 전용 스크립트
|
||||||
|
|
||||||
|
echo "=== Git 강제 업데이트 ==="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if [ ! -d ".git" ]; then
|
||||||
|
echo "❌ Git 저장소가 아닙니다."
|
||||||
|
echo "다음 명령어로 저장소를 클론하세요:"
|
||||||
|
echo "git clone http://39.117.244.52:3000/chpark/database.git"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 현재 상태 표시
|
||||||
|
echo "📋 현재 Git 상태:"
|
||||||
|
git status --short
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 현재 브랜치 확인
|
||||||
|
CURRENT_BRANCH=$(git branch --show-current)
|
||||||
|
echo "현재 브랜치: $CURRENT_BRANCH"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 백업 옵션
|
||||||
|
if [ "$1" = "--no-backup" ]; then
|
||||||
|
echo "⚠️ 백업 없이 강제 업데이트합니다."
|
||||||
|
else
|
||||||
|
# 변경사항이 있으면 백업
|
||||||
|
if ! git diff --quiet || ! git diff --cached --quiet; then
|
||||||
|
echo "💾 로컬 변경사항을 백업합니다..."
|
||||||
|
STASH_NAME="backup-$(date '+%Y%m%d-%H%M%S')"
|
||||||
|
git stash push -m "$STASH_NAME"
|
||||||
|
echo "✅ 백업 완료: $STASH_NAME"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 원격 저장소 정보 업데이트
|
||||||
|
echo "📡 원격 저장소 정보 가져오는 중..."
|
||||||
|
git fetch origin
|
||||||
|
|
||||||
|
# 강제 리셋
|
||||||
|
echo "🔄 최신 소스로 강제 업데이트 중..."
|
||||||
|
git reset --hard origin/$CURRENT_BRANCH
|
||||||
|
|
||||||
|
# 추적되지 않는 파일 정리
|
||||||
|
echo "🧹 불필요한 파일 정리 중..."
|
||||||
|
git clean -fd
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "✅ Git 강제 업데이트 완료!"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 업데이트 결과
|
||||||
|
echo "📊 업데이트 결과:"
|
||||||
|
echo "최신 커밋:"
|
||||||
|
git log --oneline -3
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "변경된 파일 (최근 커밋):"
|
||||||
|
git diff --name-only HEAD~1 HEAD 2>/dev/null || echo "변경된 파일이 없습니다."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Stash 목록 표시
|
||||||
|
STASH_COUNT=$(git stash list | wc -l)
|
||||||
|
if [ $STASH_COUNT -gt 0 ]; then
|
||||||
|
echo "💾 백업된 변경사항 ($STASH_COUNT개):"
|
||||||
|
git stash list | head -5
|
||||||
|
if [ $STASH_COUNT -gt 5 ]; then
|
||||||
|
echo "... 그리고 $((STASH_COUNT - 5))개 더"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
echo "백업 복원 방법:"
|
||||||
|
echo " 최근 백업 복원: git stash pop"
|
||||||
|
echo " 특정 백업 복원: git stash apply stash@{번호}"
|
||||||
|
echo " 백업 목록 보기: git stash list"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "🚀 이제 데이터베이스를 시작하려면:"
|
||||||
|
echo " ./start-all-db.sh"
|
||||||
|
|
@ -5,6 +5,43 @@
|
||||||
echo "=== 3개 데이터베이스 컨테이너를 시작합니다 ==="
|
echo "=== 3개 데이터베이스 컨테이너를 시작합니다 ==="
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
# Git에서 최신 소스 강제 업데이트
|
||||||
|
echo "0. Git 최신 소스 업데이트..."
|
||||||
|
if [ -d ".git" ]; then
|
||||||
|
echo "Git 저장소 감지됨. 최신 소스를 받아옵니다..."
|
||||||
|
|
||||||
|
# 현재 변경사항 백업 (있다면)
|
||||||
|
if ! git diff --quiet || ! git diff --cached --quiet; then
|
||||||
|
echo "로컬 변경사항이 있습니다. 백업 중..."
|
||||||
|
git stash push -m "Auto backup before update $(date)"
|
||||||
|
echo "변경사항이 stash에 백업되었습니다."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 원격 저장소에서 최신 정보 가져오기
|
||||||
|
echo "원격 저장소 정보 업데이트 중..."
|
||||||
|
git fetch origin
|
||||||
|
|
||||||
|
# 현재 브랜치 확인
|
||||||
|
CURRENT_BRANCH=$(git branch --show-current)
|
||||||
|
echo "현재 브랜치: $CURRENT_BRANCH"
|
||||||
|
|
||||||
|
# 강제로 원격 브랜치로 리셋
|
||||||
|
echo "최신 소스로 강제 업데이트 중..."
|
||||||
|
git reset --hard origin/$CURRENT_BRANCH
|
||||||
|
|
||||||
|
# 추적되지 않는 파일 정리
|
||||||
|
git clean -fd
|
||||||
|
|
||||||
|
echo "✅ Git 업데이트 완료!"
|
||||||
|
|
||||||
|
# 최근 커밋 정보 표시
|
||||||
|
echo "최신 커밋 정보:"
|
||||||
|
git log --oneline -3
|
||||||
|
else
|
||||||
|
echo "⚠️ Git 저장소가 아닙니다. 업데이트를 건너뜁니다."
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
# MariaDB 시작
|
# MariaDB 시작
|
||||||
echo "1. MariaDB 시작..."
|
echo "1. MariaDB 시작..."
|
||||||
if [ -f "docker-compose-mariadb.yml" ]; then
|
if [ -f "docker-compose-mariadb.yml" ]; then
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Git 업데이트 후 데이터베이스 컨테이너 시작 스크립트
|
||||||
|
|
||||||
|
echo "=== Git 업데이트 및 데이터베이스 시작 ==="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Git 업데이트 옵션 확인
|
||||||
|
UPDATE_MODE="normal"
|
||||||
|
if [ "$1" = "--force" ] || [ "$1" = "-f" ]; then
|
||||||
|
UPDATE_MODE="force"
|
||||||
|
echo "🔥 강제 업데이트 모드"
|
||||||
|
elif [ "$1" = "--skip" ] || [ "$1" = "-s" ]; then
|
||||||
|
UPDATE_MODE="skip"
|
||||||
|
echo "⏭️ Git 업데이트 건너뛰기"
|
||||||
|
else
|
||||||
|
echo "📥 일반 업데이트 모드"
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Git 업데이트 실행
|
||||||
|
if [ "$UPDATE_MODE" != "skip" ] && [ -d ".git" ]; then
|
||||||
|
echo "Git 저장소에서 최신 소스 업데이트 중..."
|
||||||
|
|
||||||
|
# 현재 상태 확인
|
||||||
|
echo "현재 Git 상태:"
|
||||||
|
git status --porcelain
|
||||||
|
|
||||||
|
# 변경사항 처리
|
||||||
|
if [ "$UPDATE_MODE" = "force" ]; then
|
||||||
|
echo "🔥 강제 업데이트: 모든 로컬 변경사항을 무시합니다."
|
||||||
|
git fetch origin
|
||||||
|
CURRENT_BRANCH=$(git branch --show-current)
|
||||||
|
git reset --hard origin/$CURRENT_BRANCH
|
||||||
|
git clean -fd
|
||||||
|
else
|
||||||
|
# 변경사항이 있으면 stash
|
||||||
|
if ! git diff --quiet || ! git diff --cached --quiet; then
|
||||||
|
echo "로컬 변경사항 백업 중..."
|
||||||
|
git stash push -m "Auto backup $(date '+%Y-%m-%d %H:%M:%S')"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Pull 시도
|
||||||
|
echo "최신 소스 가져오는 중..."
|
||||||
|
if git pull origin $(git branch --show-current); then
|
||||||
|
echo "✅ 업데이트 성공!"
|
||||||
|
else
|
||||||
|
echo "❌ 업데이트 실패. 충돌이 있을 수 있습니다."
|
||||||
|
echo "수동으로 해결하거나 --force 옵션을 사용하세요."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 업데이트 결과 표시
|
||||||
|
echo ""
|
||||||
|
echo "📋 최신 커밋 정보:"
|
||||||
|
git log --oneline -5
|
||||||
|
echo ""
|
||||||
|
echo "📊 변경된 파일:"
|
||||||
|
git diff --name-only HEAD~1 HEAD || echo "변경된 파일이 없습니다."
|
||||||
|
|
||||||
|
elif [ ! -d ".git" ]; then
|
||||||
|
echo "⚠️ Git 저장소가 아닙니다."
|
||||||
|
else
|
||||||
|
echo "⏭️ Git 업데이트를 건너뜁니다."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== 데이터베이스 컨테이너 시작 ==="
|
||||||
|
|
||||||
|
# 기존 start-all-db.sh 실행 (Git 업데이트 부분 제외)
|
||||||
|
# MariaDB 시작
|
||||||
|
echo "1. MariaDB 시작..."
|
||||||
|
if [ -f "docker-compose-mariadb.yml" ]; then
|
||||||
|
docker-compose -f docker-compose-mariadb.yml --env-file mariadb.env up -d
|
||||||
|
echo "MariaDB 시작 완료"
|
||||||
|
else
|
||||||
|
echo "MariaDB 설정 파일이 없습니다."
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# MSSQL 시작
|
||||||
|
echo "2. MSSQL 시작..."
|
||||||
|
if [ -f "docker-compose-mssql.yml" ]; then
|
||||||
|
docker-compose -f docker-compose-mssql.yml --env-file mssql.env up -d
|
||||||
|
echo "MSSQL 시작 완료"
|
||||||
|
else
|
||||||
|
echo "MSSQL 설정 파일이 없습니다."
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Oracle 시작
|
||||||
|
echo "3. Oracle 시작..."
|
||||||
|
if [ -f "docker-compose-oracle.yml" ]; then
|
||||||
|
docker-compose -f docker-compose-oracle.yml --env-file oracle.env up -d
|
||||||
|
echo "Oracle 시작 완료 (초기화에 시간이 걸릴 수 있습니다)"
|
||||||
|
else
|
||||||
|
echo "Oracle 설정 파일이 없습니다."
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 잠시 대기 후 상태 확인
|
||||||
|
echo "컨테이너 상태를 확인합니다..."
|
||||||
|
sleep 10
|
||||||
|
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== 데이터베이스 연결 정보 ==="
|
||||||
|
echo ""
|
||||||
|
echo "MariaDB:"
|
||||||
|
echo " - 포트: 13306"
|
||||||
|
echo " - 데이터베이스: wace"
|
||||||
|
echo " - 사용자: wace / 비밀번호: wace0909!!"
|
||||||
|
echo " - phpMyAdmin: http://localhost:18080"
|
||||||
|
echo ""
|
||||||
|
echo "MSSQL:"
|
||||||
|
echo " - 포트: 11433"
|
||||||
|
echo " - 데이터베이스: wace"
|
||||||
|
echo " - 사용자: wace / 비밀번호: wace0909!!"
|
||||||
|
echo " - Adminer: http://localhost:18081"
|
||||||
|
echo ""
|
||||||
|
echo "Oracle:"
|
||||||
|
echo " - 포트: 11521"
|
||||||
|
echo " - SID: ORCL / PDB: ORCLPDB1"
|
||||||
|
echo " - 사용자: wace / 비밀번호: wace0909!!"
|
||||||
|
echo " - Adminer: http://localhost:18082"
|
||||||
|
echo " - Enterprise Manager: http://localhost:15500/em"
|
||||||
|
echo ""
|
||||||
|
echo "3개 데이터베이스 컨테이너 시작이 완료되었습니다!"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "💡 사용법:"
|
||||||
|
echo " 일반 업데이트: ./update-and-start.sh"
|
||||||
|
echo " 강제 업데이트: ./update-and-start.sh --force"
|
||||||
|
echo " 업데이트 건너뛰기: ./update-and-start.sh --skip"
|
||||||
Loading…
Reference in New Issue