728x90
반응형
들어가기 전에
Github Action을 통해 CI를 적용한 Springboot 환경은 다음과 같습니다. 만약, maven을 사용하신다면 하기 내용을 통해 적용이 어려울 수 있는 점 참고 부탁드립니다.
plugins {
id 'org.springframework.boot' version '2.4.10'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'jpabook'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
Github Action을 통해 CI(Continuous Integration) 적용하기
먼저 적용하고자 하는 github repository에 접근하여 Actions 탭을 통해 set up a workflow yourself를 클릭하여 신규 workflow를 생성합니다. 생성하는 workflow 명은 yml 확장자로 구성하면 되며, .github/workflows 내에 존재한다면, 파일명은 어떤것으로 해도 상관없습니다.
위에 작성한 ci.yml 파일은 하기에 정리하였습니다.
name: earth-github-action-test CI
# 하기 내용에 해당하는 이벤트 발생 시 github action 동작
on:
push: # feature/*와 develop 브랜치에서 push가 일어났을 때 github action 동작
branches:
- 'feature/*'
- 'develop'
pull_request: # feature/*와 develop 브랜치에서 PR이 일어났을 때 github action 동작
branches:
- 'feature/*'
- 'develop'
# 참고사항
# push가 일어난 브랜치에 PR이 존재하면, push에 대한 이벤트와 PR에 대한 이벤트 모두 발생합니다.
jobs:
build:
runs-on: ubuntu-latest # 실행 환경 지정
steps:
- uses: actions/checkout@v2 # github action 버전 지정(major version)
- name: Set up JDK 11 # JAVA 버전 지정
uses: actions/setup-java@v1
with:
java-version: 11
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle # 실제 application build(-x 옵션을 통해 test는 제외)
run: ./gradlew build -x test
- name: Test with Gradle # test application build
run: ./gradlew test
- name: Publish Unit Test Results # test 후 result를 보기 위해 추가
uses: EnricoMi/publish-unit-test-result-action@v1
if: ${{ always() }} # test가 실패해도 report를 남기기 위해 설정
with:
files: build/test-results/**/*.xml
위 스크립트를 github action에 적용하면, develop, feature/* 브랜치로 push 또는 PR 시 위와 같이 github action이 수행되는 것을 확인할 수 있습니다.
참고자료
728x90
반응형
'DEVELOPMENT TOOLS > Git' 카테고리의 다른 글
[Github] personal access token을 이용해 private repository git clone 하는 법 (0) | 2023.05.13 |
---|---|
[MarkDown] 마크다운 문법 정리 (0) | 2021.12.13 |
[Git] CRLF will be replaced by LF 에러 해결법 (0) | 2021.10.12 |
[Git] Git 명령어 정리 (0) | 2021.09.26 |
[Git] PR 후 merge된 branch 자동 삭제하기 (0) | 2021.09.26 |