Skip to content

Merge pull request #159 from UMC-NOOK/fix/#104-refresh-token-fix #81

Merge pull request #159 from UMC-NOOK/fix/#104-refresh-token-fix

Merge pull request #159 from UMC-NOOK/fix/#104-refresh-token-fix #81

Workflow file for this run

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