[feat] cors 해결 및 배포 문제 해결 #26
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: CI/CD Pipeline | |
| on: | |
| push: | |
| branches: [ main ] | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # 저장소 코드 체크아웃 | |
| - uses: actions/checkout@v3 | |
| # JDK 17 설정 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v3 | |
| with: | |
| distribution: 'adopt' | |
| java-version: '17' | |
| # application.yml 파일 생성 | |
| - name: Make application.yml | |
| run: | | |
| cd ./src/main/resources | |
| touch ./application.yml | |
| echo "${{ secrets.APPLICATION_YML }}" > ./application.yml | |
| shell: bash | |
| # Gradle로 빌드 | |
| - name: Build with Gradle | |
| run: | | |
| chmod +x ./gradlew | |
| ./gradlew clean build -x test | |
| # Docker 이미지 빌드 및 푸시 (🚨 `--build-arg` 추가!) | |
| # - name: Docker build & push to Docker Hub | |
| # run: | | |
| # docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
| # docker build --no-cache -t ${{ secrets.DOCKER_REPO }}:latest . | |
| # docker push ${{ secrets.DOCKER_REPO }}:latest 다시 | |
| - name: Docker build & push to Docker Hub | |
| run: | | |
| docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
| docker buildx create --use | |
| docker buildx build --platform linux/amd64,linux/arm64 \ | |
| -t ${{ secrets.DOCKER_REPO }}:latest \ | |
| --push . | |
| # 서버 배포 | |
| - name: Deploy to server with Docker | |
| uses: appleboy/ssh-action@master | |
| with: | |
| host: ${{ secrets.EC2_HOST }} | |
| username: ${{ secrets.EC2_USERNAME }} | |
| key: ${{ secrets.EC2_SSH_KEY }} | |
| script: | | |
| sudo docker-compose down | |
| sudo docker pull ${{ secrets.DOCKER_REPO }}:latest | |
| sudo docker-compose -f docker-compose.yml up -d | |
| sudo docker image prune -f | |
| # jar 파일명 확인 | |
| - name: Show built files | |
| run: | | |
| ls -alh build/libs |