From 0da3a4c97e16d457ab31bdc3c6b2e19f77ccab08 Mon Sep 17 00:00:00 2001 From: Joon Gyu <107477191+CUCU7103@users.noreply.github.com> Date: Sat, 12 Oct 2024 02:16:55 +0900 Subject: [PATCH] chore: github action test github action test --- .github/workflows/ci-test.yml | 59 +++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .github/workflows/ci-test.yml diff --git a/.github/workflows/ci-test.yml b/.github/workflows/ci-test.yml new file mode 100644 index 0000000..3ca838b --- /dev/null +++ b/.github/workflows/ci-test.yml @@ -0,0 +1,59 @@ +# 워크플로의 이름을 정의합니다. +name: ci-test + +# 이벤트 정의: develop 브랜치에 푸시(push)될 때 CI 작업 실행, main 브랜치로 병합할 때 Pull Request 생성 +on: + push: + branches: + - develop # develop 브랜치에 푸시가 발생할 때 실행 + pull_request: + branches: + - main # main 브랜치로 병합 요청(pull request)이 발생할 때 실행 + +# jobs 섹션: 두 개의 작업(빌드 및 풀 리퀘스트 생성)이 정의됩니다. +jobs: + build: + # develop 브랜치에 푸시될 때 빌드 작업을 실행합니다. + if: github.ref == 'refs/heads/develop' + runs-on: ubuntu-latest # Ubuntu 가상 환경에서 실행 + + steps: + # 1단계: GitHub 리포지토리에서 코드를 체크아웃(다운로드)하는 단계입니다. + - name: Check out code + uses: actions/checkout@v3 # actions/checkout을 사용하여 코드를 가져옵니다. + + # 2단계: Gradle 빌드를 위해 JDK 21 버전을 설치하는 단계입니다. + - name: Set up JDK 21 + uses: actions/setup-java@v3 # actions/setup-java로 JDK 설치 + with: + distribution: 'temurin' # OpenJDK 배포판 선택 (Temurin) + java-version: '21' # 설치할 Java 버전 (21) + + # 3단계: Gradlew에 실행 권한을 부여하는 단계입니다. + - name: Grant execute permission for gradlew + run: chmod +x ./gradlew # gradlew 파일에 실행 권한 추가 + + # 4단계: Gradle을 사용하여 프로젝트를 빌드하는 단계입니다. + - name: Build with Gradle + run: ./gradlew build # Gradle 빌드 명령어 실행 (build 태스크 실행) + + create-pull-request: + # develop 브랜치에 푸시되었을 때 main 브랜치로 자동으로 풀 리퀘스트를 생성합니다. + if: github.ref == 'refs/heads/develop' # develop 브랜치에서만 실행 + runs-on: ubuntu-latest # 이 작업도 Ubuntu 가상 환경에서 실행 + + steps: + # 1단계: 리포지토리 코드를 체크아웃합니다. + - name: Checkout Repository + uses: actions/checkout@v3 + + # 2단계: Peter Evans의 액션을 사용하여 풀 리퀘스트를 생성합니다. + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 # PR 생성을 위한 액션 사용 (v7로 업데이트) + with: + token: ${{ secrets.GITHUB_TOKEN }} # GitHub 토큰을 사용하여 인증 + commit-message: "Auto Merge develop into main" # 커밋 메시지 + branch: develop # develop 브랜치에서 생성 + base: main # main 브랜치로 병합할 PR 생성 + title: "Auto Merge develop into main" # PR 제목 + body: "This is an automated pull request to merge changes from develop to main." # PR 설명