22. Github Action 사용하기
이전에 Jenkins를 이용해 CI 환경을 구성했다. Jenkins를 이용한 CI 환경의 가장 큰 단점은 Github로부터 Web Hook을 받을 수 있게 Port를 열어둬야 한다는 것이다. ngrok을 이용하더라도 계속해서 Port를 열어둘 수는 없는 노릇이라서 Github에서 제공하는 CI 도구인 Github Action을 이용하기로 했다.
Github Action Workflow Template 선택하기
Github에서 프로젝트를 선택하면 상단에 Action을 선택하면 본인의 환경에 맞는 Build 환경을 위한 Template를 선택할 수 있다.
Gradle을 이용해 Spring Boot 프로젝트를 진행하고 있으므로 Gradle을 선택하도록 한다.
Template 수정하기
Gradle을 선택하게 되면 기본적으로 Gradle을 이용한 Build Plan Template가 주어진다. 기본적인 Template에서는 JDK 버전이 1.8인데 프로젝트는 JDK 11을 이용해 진행하고 있으므로 변경해줄 필요가 있다. 그 외에 운영체제나 원하는 Build Branch들을 선택할 수 있다.
on-push-branch
- Push를 했을 때 Build를 진행할 Branch를 선택한다.
- 현재는 master에서 Push가 일어났을 때만 Build를 진행한다.
on-pull_request-branch
- Pull Request를 진행했을 때 Build를 진행할 Branch를 선택한다.
- 현재는 master로 Pull Requst를 진행할 때만 Build를 진행한다.
jobs-build-runs-on
- Build를 진행할 환경(운영체제)를 선택한다.
jobs-build-steps
- Build를 진행할 단계를 정의한다.
jobs-build-steps-name
- Build 단계 이름을 명시한다.
jobs-build-steps-uses
- Build 단계에서 사용할 것들을 나타낸다.
- actions/checkout@v2 : 현재 Repository의 Project를 확인한다.
- actions/setup-java@v1 : 사용할 자바 버전을 명시한다.
with
를 사용해 사용 버전까지 명시
jobs-build-steps-run
- 명령어들을 수핸한다.
- chmod +x ./gradlew : gradlew에 대한 실행 권한을 부여한다.
- ./gradlew clean build : gradlew를 이용해서 Build를 진행한다.
Github Action을 통한 Build 진행하기
Template 작성을 완료한 후 우측 상단의 commit을 누르게 되면 Build가 진행되게 된다.