About continuous integration with GitHub Actions
GitHub Actions를 사용하여 저장소에서 직접 커스텀 지속적 통합(CI) 워크플로우를 만들 수 있다.
About continuous integration (지속적 통합이란?)
- 지속적 통합(CI)는 코드를 공유 저장소에 자주 커밋하는 것을 요구하는 소프트웨어 개발 방식이다.
- 코드를 자주 커밋하면,
- 오류를 더 빨리 발견 가능
- 개발자가 오류의 원인을 찾을 때 디버깅해야하 할 코드의 양이 줄어듦
- 소프트웨어 개발 팀의 다른 구성원들의 변경사항을 병합하기 더 쉬워짐
- 개발자가 오류를 디버깅하거나 병합 충돌을 해결하는 데 시간을 덜 쓰고, 코드 작성에 더 많은 시간을 할애할 수 있다.
저장소에 코드를 커밋할 때, 커밋이 오류를 발생시키지 않도록 지속적으로 코드를 빌드하고 테스트할 수 있다.
- 스타일 포맷팅 검사
- 보안 검사
- 코드 커버리지
- 기능 테스트
- 기타 커스텀 검사
코드를 빌드하고 테스트하려면 서버가 필요하다. 코드를 저장소에 푸시하기 전에 로컬에서 빌드하고 테스트할 수 있고, 저장소의 새로운 코드 커밋을 확인하는 CI서버를 사용할 수 있다.
About continuous integration using GitHub Actions (GitHub Actions를 사용한 CI)
Github Actions를 사용한 CI는 저장소의 코드를 빌드하고 테스트를 실행할 수 있는 워크플로우를 제공한다.
- GitHub 이벤트 발생 시 (예 : 새 코드 푸시)
- 정해진 일정에 따라
- 저장소 디스패치 웹훅을 사용한 외부 이벤트 발생 시
Github는 CI 테스트를 실행하고 각 테스트 결과를 풀 리퀘스트에 표시하므로,
- 브랜치의 변경 사항이 오류를 발생시키는 지 확인할 수 있다.
- 워크플로우의 모든 CI테스트가 통과하면 팀 멤버가 변경사항을 검토하거나 병합할 준비가 된 것이다
- 테스트가 실패하면 변경사항 중 하나의 실패의 원인이 될 수 있다.
Workflow templates 워크플로우 템플릿
- Github는 다양한 언어와 프레임워크를 위한 CI 워크플로우 템플릿을 제공한다.
- 전체 CI 워크플로우 템플릿 목록은 actions/starter-workflows 저장소에서 찾아볼 수 있다.
출처 | github actions 공식문서