
GitHub Actions은 GitHub에서 호스팅하는 CI/CD (Continuous Integration/Continuous Deployment) 서비스로, GitHub 리포지토리 내에서 이벤트에 따라 작업을 자동으로 실행할 수 있다. 이를 통해 테스트, 빌드, 배포 등의 작업을 자동화하여 개발자들이 소프트웨어를 더 빠르게 개발하고 배포할 수 있다.
name: Build and Test # 워크플로우의 이름을 지정한다. 이 이름은 GitHub Actions UI에서 표시된다.
on: # 어떤 이벤트에 대해 워크플로우를 실행할지 지정
push: # main 브랜치에서 코드가 푸시될 때
branches:
- main
pull_request: # main 브랜치에서 풀 리퀘스트가 올라왔을 때
branches:
- main
jobs: # 워크플로우 작업 정의
build: # build 작업 정의
runs-on: ubuntu-latest # 작업을 실행할 환경을 지정
steps: # 작업 단계 정의
- name: Checkout Repository # 첫 번째 단계: 저장소를 체크아웃
uses: actions/checkout@v2 # GitHub Actions에서 제공하는 체크아웃 액션을 사용
- name: Set up JDK 11 # 두 번째 단계: JDK 11 환경을 설정
uses: actions/setup-java@v2 # GitHub Actions에서 제공하는 Java 설정 액션을 사용
with: # 액션에 전달되는 입력 매개변수를 지정
java-version: '11' # 사용할 Java 버전을 지정
- name: Grant execute permission for Gradle wrapper # 세 번째 단계: Gradle 래퍼에 실행 권한을 부여
run: chmod +x gradlew # `chmod` 명령어를 사용하여 Gradle 래퍼에 실행 권한을 부여
- name: Build with Gradle # 네 번째 단계: Gradle을 사용하여 프로젝트를 빌드
run: ./gradlew build
위의 예시에서는 main 브랜치에 push되거나 PR이 생성될 때 Gradle을 사용하여 빌드를 실행하는 워크플로우를 정의한다.
Gradle 프로젝트에 따라 추가적인 구성이 필요할 수 있다. 예를 들어 테스트 실행, 정적 코드 분석, 결과물 아티팩트 생성 등의 작업을 추가로 설정할 수 있다.
GitHub Actions를 사용하여 Gradle 프로젝트를 자동화하면 코드 품질을 유지하고 더 높은 효율성을 얻을 수 있다. Gradle을 사용하여 빌드 및 테스트 프로세스를 자동화하면 개발자들이 더 많은 시간을 코드 작성에 집중할 수 있으며 이를 통해 소프트웨어 개발 생산성을 향상시킬 수 있고, 빠르고 안정적인 배포를 보장할 수 있다.