-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun.sh
More file actions
59 lines (50 loc) · 1.79 KB
/
run.sh
File metadata and controls
59 lines (50 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash
set -e
# GHCR Token 은 Secrets 에 저장 되어있음.
echo "========== 🚀 Jobmanri App Deploy Script 시작 =========="
############################################
# 1) .env 로딩 (선택)
############################################
if [ -f .env ]; then
echo "[INFO] .env 파일을 로딩합니다."
export $(grep -v '^#' .env | xargs)
else
echo "[WARNING] .env 파일이 없습니다. 환경변수는 OS에서 가져옵니다."
fi
############################################
# 2) 필수 환경변수 체크
############################################
if [ -z "$GHCR_PAT" ]; then
echo "[ERROR] GHCR_PAT 환경변수가 필요합니다."
exit 1
fi
############################################
# 3) GHCR 로그인
############################################
echo "[INFO] GHCR 로그인 중..."
echo "$GHCR_PAT" | docker login ghcr.io -u "jobmanri" --password-stdin
############################################
# 4) 기존 컨테이너 중지 및 삭제
############################################
echo "[INFO] 기존 컨테이너 중지/삭제..."
docker rm -f jobmanri-app || true
############################################
# 5) 최신 이미지 Pull
############################################
echo "[INFO] 최신 Docker 이미지 Pull..."
docker pull ghcr.io/jobmanri/jobmanri-app:latest
############################################
# 6) 컨테이너 실행
############################################
echo "[INFO] 새 컨테이너 실행..."
docker run -d \
--name jobmanri-app \
-p 8080:8080 \
--env-file .env \
ghcr.io/jobmanri/jobmanri-app:latest
############################################
# 7) 실행 확인
############################################
echo "[INFO] 실행 중인 컨테이너:"
docker ps | grep jobmanri-app
echo "========== 🎉 배포 완료! =========="