fix: 포지션 개수 8개로 제한 늘림 #78
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to AWS EC2 | |
| on: | |
| push: | |
| branches: | |
| - main # main 브랜치에 푸시할 때만 배포 | |
| workflow_dispatch: # 수동 실행도 가능 | |
| jobs: | |
| build-and-deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| - name: Build with Gradle | |
| run: ./gradlew clean build -x test | |
| - name: Create deployment package | |
| run: | | |
| mkdir -p deploy-package | |
| cp -r build/libs deploy-package/build/ | |
| cp -r scripts deploy-package/ | |
| cp appspec.yml deploy-package/ | |
| cp docker-compose.prod.yml deploy-package/docker-compose.prod.yml | |
| cp Dockerfile.prod deploy-package/Dockerfile.prod | |
| # 모니터링 관련 파일 포함 | |
| cp prometheus.prod.yml deploy-package/ | |
| cp docker-compose.monitoring.prod.yml deploy-package/ | |
| cp -r grafana deploy-package/ 2>/dev/null || true | |
| cd deploy-package | |
| zip -r ../deploy.zip . | |
| - name: Configure AWS credentials | |
| uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| aws-region: ap-southeast-2 | |
| - name: Upload to S3 | |
| run: | | |
| aws s3 cp deploy.zip s3://${{ secrets.AWS_S3_BUCKET }}/deploy.zip | |
| - name: Deploy to EC2 via CodeDeploy | |
| run: | | |
| aws deploy create-deployment \ | |
| --application-name ${{ secrets.CODEDEPLOY_APPLICATION_NAME }} \ | |
| --deployment-group-name ${{ secrets.CODEDEPLOY_DEPLOYMENT_GROUP }} \ | |
| --s3-location bucket=${{ secrets.AWS_S3_BUCKET }},key=deploy.zip,bundleType=zip | |