Skip to content

Commit 8ca0f37

Browse files
authored
Create deploy.yml
1 parent 9ef024a commit 8ca0f37

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Build and Push Frontend Image, then Dispatch
2+
3+
on:
4+
push:
5+
branches: [ "main" ] # main 브랜치에 코드가 push될 때 실행
6+
7+
jobs:
8+
build-and-dispatch:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v3
13+
14+
# 1. AWS 자격 증명 설정
15+
- name: Configure AWS credentials
16+
uses: aws-actions/configure-aws-credentials@v1
17+
with:
18+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
19+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
20+
aws-region: ${{ secrets.AWS_REGION }}
21+
22+
# 2. Amazon ECR에 로그인
23+
- name: Login to Amazon ECR
24+
id: login-ecr
25+
uses: aws-actions/amazon-ecr-login@v2
26+
27+
- name: Create .env.production file
28+
run: |
29+
echo "VITE_API_URL=" >> .env.production
30+
echo "VITE_BACK_ADMIN_URL=" >> .env.production
31+
echo "VITE_API_URL_ADMIN=" >> .env.production
32+
echo "VITE_HOMPAGE_MAIN=" >> .env.production
33+
echo "VITE_BUS_URL=" >> .env.production
34+
# 민감한 정보는 GitHub Secrets에서 가져오기
35+
echo "VITE_KAKAO_JAVASCRIPT_KEY=${{ secrets.VITE_KAKAO_JAVASCRIPT_KEY }}" >> .env.production
36+
echo "VITE_KAKAO_RESTAPI_KEY=${{ secrets.VITE_KAKAO_RESTAPI_KEY }}" >> .env.production
37+
echo "VITE_KAKAO_MAP_APPKEY=${{ secrets.VITE_KAKAO_MAP_APPKEY }}" >> .env.production
38+
39+
# 3. Docker 이미지 빌드 및 ECR에 Push
40+
- name: Build and push frontend image
41+
env:
42+
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
43+
ECR_REPOSITORY: admin-frontend
44+
IMAGE_TAG: latest
45+
run: |
46+
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
47+
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
48+
49+
# 4. 백엔드 레포지토리에 배포 신호(dispatch) 보내기
50+
- name: Trigger deployment in backend repository
51+
uses: peter-evans/repository-dispatch@v2
52+
with:
53+
token: ${{ secrets.ACCESS_TOKEN }}
54+
repository: TeamProject-Daewoo/Hotel_booking_backend
55+
event-type: deploy-trigger

0 commit comments

Comments
 (0)