프레임워크/Spring

[Spring Boot] Github Actions CI Workflow 파일

munsik22 2026. 5. 12. 17:48
💡 contextLoads() FAILED 오류를 해결한 버전입니다.

환경

  • Spring Boot 4.x
  • 로컬에서 PostgreSQL, Redis 돌림

ci.yml

name: CI Workflow
on:
  push:
    branches: [ main, dev, feat/* ]
  pull_request:
    branches:
      - dev
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    services:
      postgres:
        image: postgres:15
        env:
          POSTGRES_USER: user
          POSTGRES_PASSWORD: password
          POSTGRES_DB: testdb
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          - 5432:5432
      redis:
        image: redis:latest
        options: >-
          --health-cmd "redis-cli ping"
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          - 6379:6379

    steps:
      - name: checkout
        uses: actions/checkout@v4

      - name: java setup
        uses: actions/setup-java@v4
        with:
          distribution: 'temurin'
          java-version: '17'

      - name: make executable gradlew
        run: chmod +x ./gradlew

      - name: run unittest
        env:
          SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/testdb
          SPRING_DATASOURCE_USERNAME: user
          SPRING_DATASOURCE_PASSWORD: password
          SPRING_DATA_REDIS_HOST: localhost
          SPRING_DATA_REDIS_PORT: 6379
        run: |
          ./gradlew clean test