Skip to content

Merge pull request #442 from urinaner/feature/425 #27

Merge pull request #442 from urinaner/feature/425

Merge pull request #442 from urinaner/feature/425 #27

Workflow file for this run

name: Build & Push Backend
on:
push:
branches: [ "main" ]
paths:
- 'backend/**' # backend 폴더 안이 변경된 경우만 트리거
jobs:
build-backend:
runs-on: ubuntu-latest
steps:
# 1) 코드 체크아웃
- uses: actions/checkout@v4
# 2) 백엔드 빌드 환경 설정
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
# 3) 백엔드 설정 파일 생성
- name: Create backend configuration files
run: |
mkdir -p ./backend/src/main/resources
cd ./backend/src/main/resources
echo "${{ secrets.APPLICATION_YML }}" > application.yml
# 4) Gradle 설정(캐시 포함)
- name: Set up Gradle
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5
# 4) Gradle 빌드 (테스트 제외)
- name: Build Backend
run: |
cd backend
chmod +x ./gradlew
./gradlew build -x test
# 5) Docker 로그인 & 빌드 & 푸시
- name: Docker build & push (Backend)
run: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
cd backend
docker build -t ${{ secrets.DOCKER_USERNAME }}/backend:latest .
docker push ${{ secrets.DOCKER_USERNAME }}/backend:latest