SpringBoot + GitHub Actions CI/CD 완벽 구성 & 문제 해결
SpringBoot + GitHub Actions CI/CD 완벽 구성 & 문제 해결 SpringBoot 애플리케이션에 GitHub Actions를 활용한 CI/CD 파이프라인을 구축하고, 실제 운영 환경에서 발생하는 문제를 해결하는 방법을 단계별로 설명합니다. 이 가이드는 JDK 설치부터 클라우드 배포까지 전체 워크플로우를 다루며, 실패 사례별 트러블슈팅 기법을 포함합니다. 튜토리얼: SpringBoot CI/CD 기본 구성 1. GitHub 리포지토리 연결 및 기본 Workflow 생성 SpringBoot 프로젝트를 GitHub에 업로드합니다. git init git add . git commit -m "Initial commit" git branch -M main git remote add origin https://github.com/<your-id>/<repo-name>.git git push -u origin main .github/workflows/springboot-ci-cd.yml 파일을 생성합니다. 2. 기본 Workflow YAML 구성 name: SpringBoot CI/CD on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: 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: Build with Gradle run: ./gradlew build - name: Build Docker image run: | docker build -t my-springboot-app:latest . docker tag my-springboot-app:latest \ $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/my-springboot-app:latest - name: Push to ECR run: | aws ecr get-login-password --region $AWS_REGION | \ docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/my-springboot-app:latest env: AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} AWS_REGION: ${{ secrets.AWS_REGION }} 팁: Maven 사용 시 ./mvnw clean package로 변경합니다. Dockerfile이 프로젝트 루트에 위치해야 합니다. ...