CI : pull request/ DI: merge 될때
좀더 자세한 내용은 RedHat 공식문서를 참고하세요.
쉽게 표현하자면 CI 는 자동 빌드 및 테스트를 진행하여 여러 개발자들이 공유하는 코드의 신뢰성을 높이는 개념이고 CD 는 배포 플로우를 자동화하여 누구나 동일한 플로우로 배포할 수 있게 만들어주는 개념입니다.
자동 빌드 테스트
git에 프로젝트에 들어가서
name: Java CI with Gradle
on:
pull_request:
branches: [ "main" ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Test with Gradle # test application build
run: ./gradlew --info test
- name: Build with Gradle
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
with:
arguments: build
on 에서는 워크플로우를 수행할 이벤트를 결정합니다. 위 코드는 main 을 베이스 브랜치로 한 Pull Request 를 생성하였을 때 수행된다는 뜻입니다.
기본 템플릿 파일에서 JDK 버전을 11에서 17로 수정해주었습니다. 프로젝트에서 사용된 버전을 명시해야 합니다.
만약 JDK버전이 다르다면 그에 맞는 버전을 입력 해줘야 합니다.
테스트를 위해 chmod +x gradlew 명령과 ./gradlew --info test 명령을 추가했습니다.