Merge pull request #159 from UMC-NOOK/fix/#104-refresh-token-fix #81
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: Spring Boot Application CICD with Docker | |
| on: | |
| push: | |
| branches: [ "develop" ] | |
| workflow_dispatch: | |
| inputs: | |
| clear_cache: | |
| description: "Gradle & Docker 캐시 삭제 여부" | |
| required: false | |
| default: "false" | |
| jobs: | |
| CI-CD: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v3 | |
| # Gradle 캐시 삭제 | |
| - name: Clear Gradle Cache | |
| if: ${{ github.event.inputs.clear_cache == 'true' }} | |
| run: | | |
| echo "Clearing Gradle cache..." | |
| rm -rf ~/.gradle/caches | |
| rm -rf ~/.gradle/wrapper | |
| - name: make application.yml | |
| run: | | |
| cd ./src/main/resources | |
| touch ./application.yml | |
| echo "${{ secrets.YML_DEV }}" > ./application.yml | |
| - name: Grant Execute Permission For Gradlew | |
| run: chmod +x gradlew | |
| # Docker Build & Push | |
| - name: docker build & push | |
| run: | | |
| docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
| docker build -t ${{ secrets.DOCKER_USERNAME }}/nook-server . | |
| docker push ${{ secrets.DOCKER_USERNAME }}/nook-server:latest | |
| - name: Deploy to dev | |
| uses: appleboy/ssh-action@master | |
| with: | |
| key: ${{ secrets.PRIVATE_KEY }} | |
| host: ${{ secrets.HOST_DEV }} | |
| username: ${{ secrets.USERNAME }} | |
| port: 22 | |
| script: | | |
| # 서버 컨테이너 & 이미지 정리 | |
| docker rm -f $(docker ps -qa) || true | |
| if [ "${{ github.event.inputs.clear_cache }}" = "true" ]; then | |
| echo "Clearing Docker build cache..." | |
| docker builder prune -af | |
| docker image prune -af | |
| fi | |
| docker pull ${{ secrets.DOCKER_USERNAME }}/nook-server | |
| docker-compose -f docker-compose.yml up -d | |
| docker image prune -f |