forked from Parrotalk/Parrotalk_AI
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sh
executable file
·57 lines (44 loc) · 1.66 KB
/
build.sh
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
#!/bin/bash
#####################
# 0.배포될 서버의 VITE 환경변수 미리 작성
# ./env.development(개발) ./env.production(운영)
# 0. aws-cli 설치 후 aws configure에 계정 등록 및 ecr 권한 확인
# 1. 권한추가
# chmod +x build.sh
# 2. 실행
# ./build.sh
# 필요시 아래 파일 수정 후 main에 바로 push
# Parrotalk-Manifests/apps/frontend
# 공통: base/configmap.yaml
# 환경별: overlays/[dev/prod]/configmap-patch.yaml
# 3. argocd 들어가서 deployment > restart
#####################
set -e # 오류 발생 시 스크립트 종료
# 태그 설정
TAG="ptk-ai-latest"
NODE_ENV="development"
# ECR 로그인
echo "ECR 로그인 중..."
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 703671911294.dkr.ecr.ap-northeast-2.amazonaws.com
# buildx 설정
echo "Docker buildx 설정 중..."
BUILDER_NAME="temp-builder-$(date +%s)"
docker buildx create --name $BUILDER_NAME --use || { echo "Docker buildx 생성에 실패했습니다."; exit 1; }
# 이미지 빌드 및 푸시
echo "이미지 빌드 및 푸시 중..."
docker buildx build \
--platform linux/amd64 \
-t 703671911294.dkr.ecr.ap-northeast-2.amazonaws.com/ptk-dev-ecr-argocd:$TAG \
-f Dockerfile \
--build-arg NODE_ENV=$NODE_ENV \
--push \
. || {
echo "이미지 빌드 및 푸시에 실패했습니다. buildx를 삭제하고 종료합니다."
docker buildx rm $BUILDER_NAME
exit 1;
}
echo "이미지 빌드 및 푸시 완료. 태그: $TAG"
# buildx 삭제
echo "Docker buildx 정리 중..."
docker buildx rm $BUILDER_NAME || { echo "Docker buildx 삭제에 실패했습니다."; exit 1; }
echo "작업완료"