inhatc-team2 모노레포 자동화 배포 파이프라인 완성하기
이전에 작성된 'AWS 권한 및 OIDC 설정 요청서'를 학교 측(교수님/조교님)에 전달하고, 배포용 IAM Role ARN 발급을 기다립니다.
학교로부터 arn:aws:iam::...:role/... 형태의 주소를 받으면 깃허브에 등록합니다.
Asirante/weather-fit 레포지토리 접속AWS_ROLE_ARN / Value: 발급받은 ARN 주소 입력 후 저장각자 맡은 .github/workflows/ 폴더 안의 .yml 파일에 아래 2가지 내용을 반드시 추가해야 합니다.
# 1. jobs 하위에 권한(permissions) 블록 추가 (필수) jobs: deploy: runs-on: ubuntu-latest permissions: id-token: write contents: read steps: - uses: actions/checkout@v4 # ... (의존성 설치, 빌드 등 기존 코드) ... # 2. 실제 배포(AWS CLI) 스텝 직전에 OIDC 로그인 스텝 추가 - name: Configure AWS credentials using OIDC uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: us-east-1 # 팀 통일 리전 (버지니아 북부)
OIDC 로그인이 완료되었으므로, 기존의 echo "Dummy Deploy..." 부분을 지우고 진짜 배포 명령어를 작성합니다.
- name: Deploy to S3
run: |
aws s3 sync frontend/dist/ s3://inhatc-team2-3-frontend --delete
- name: Zip and Update Code
run: |
cd backend
zip -r ../deploy.zip .
aws lambda update-function-code \
--function-name inhatc-team2-1-recommendAPI \
--zip-file fileb://../deploy.zip
- name: Zip and Update Code
run: |
cd data_pipeline
zip -r ../deploy.zip .
aws lambda update-function-code \
--function-name inhatc-team2-5-dataAPI \
--zip-file fileb://../deploy.zip
- name: Zip and Update Code
run: |
cd real_time
zip -r ../deploy.zip .
aws lambda update-function-code \
--function-name inhatc-team2-5-real-time-dataAPI \
--zip-file fileb://../deploy.zip
feature/* → develop PR 생성develop → main 최종 통합main 직접 Push 금지
기억하세요! 각 워크플로우에는 path filter가 설정되어 있습니다. backend/를 수정하면 backend workflow만, real_time/을 수정하면 real-time workflow만 실행됩니다.
협업 가이드라인을 준수하여 안정적인 배포 환경을 유지합시다.