Feat/8 chapter7 #8
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 CI Pipeline | |
| # 워크플로우 실행 조건 | |
| on: | |
| push: | |
| branches: [ "main" ] # main 브랜치에 push될 때 | |
| pull_request: | |
| branches: [ "develop" ] # develop 브랜치로 PR이 생성/업데이트될 때 | |
| jobs: | |
| build-and-test: # 빌드와 테스트를 위한 단일 작업 | |
| runs-on: ubuntu-latest | |
| steps: | |
| # 1. 저장소 코드 체크아웃 (최신 버전 v4 사용) | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # 2. JDK 17 설정 및 Gradle 캐싱 (최신 버전 v4 사용) | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| cache: 'gradle' # Gradle 의존성을 캐싱하여 다음 빌드부터 속도를 향상시킵니다. | |
| # 3. GitHub Secret을 사용하여 application.yml 파일 생성 | |
| # 디렉토리가 없는 경우에도 안전하게 생성하도록 'mkdir -p'를 사용합니다. | |
| - name: Make application.yml | |
| run: | | |
| mkdir -p ./src/main/resources | |
| echo "${{ secrets.APPLICATION_YML }}" > ./src/main/resources/application.yml | |
| shell: bash | |
| # 4. gradlew 실행 권한 부여 | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x ./gradlew | |
| # 5. Gradle로 빌드 및 테스트 실행 (최신 버전 v3 사용) | |
| # Gradle의 'build' 명령어는 컴파일, 테스트 실행, jar 파일 패키징을 모두 수행합니다. | |
| - name: Build with Gradle | |
| uses: gradle/gradle-build-action@v3 | |
| with: | |
| arguments: build |