GitHub Actions를 통한 CI 실천

소개


  • 이 기사는 2019년 11월 13일에 GitHub에서 정식 출시된 GitHub Actions를 사용하여 CI를 실천하는 방법에 대해 정리한 것입니다.
  • 본 기사에서 게재하고 있는 GitHub의 조작 화면은 2020년 3월 11일 시점의 화면이 됩니다.

  • CI란?


  • 지속적 통합(Continuous Integration)의 약칭입니다.
  • 통합은 각 사람이 만든 제품을 한 곳에 모아 빌드 및 테스트하는 프로세스입니다.
  • 연속적인 통합은 "정기적이고 자동"으로 통합하는 메커니즘을 의미합니다.

  • 【인테그레이션의 요소】
    1. 모든 소스 코드를 한 곳에 모으십시오.
    2. 빌드를 수행한다.
    3. 테스트를 실행합니다.

    GitHub Actions란?


  • GitHub 이벤트 (푸시, 풀 요청 등)를 트리거로 소프트웨어 개발 워크 플로를 자동화하는 기능.
  • 워크플로는 GitHub에 임의의 코드 프로젝트를 빌드, 테스트, 패키지, 릴리스 또는 배포하기 위해 Git 저장소에서 설정할 수 있는 사용자 지정 자동 프로세스입니다.
  • GitHub Actions를 활용하면 GitHub의 소스 코드에 대한 CI를 구현할 수 있습니다.

  • GitHub Actions의 역할



    통합의 요소에서 보면,
    1. 모든 소스 코드를 한 곳에 모으십시오.
      ⇒ GitHub 상의 Git 리포지토리로 관리되고 있다.
    2. 빌드를 수행한다.
    3. 테스트를 실행합니다.
    ⇒2와 3에 대해서, GitHub Action에서 실시할 수 있게 되었다.

    GitHub Actions에서 CI를 수행하는 단계


  • 테스트 케이스 생성.
  • (필요한 경우) 테스트에 필요한 라이브러리 설정을 빌드 도구에 추가.
  • 테스트 케이스 등을 Git 리포지토리에 등록.
  • Git 저장소에 워크 플로를 설명하는 파일 (YAML 형식)을 만듭니다.
    ⇒ 테스트 케이스를 호출하는 처리 (커맨드)를 기술한다.

  • 이후 워크플로에서 지정한 이벤트가 발생하면 자동으로 CI가 발생합니다.

    워크플로를 만드는 방법


  • GitHub의 리포지토리의 Action 탭에서 워크플로를 생성합니다.
  • 주요 언어, 환경, 서버 등의 템플릿이 준비되어 있으므로 사용할 템플릿을 선택합니다. 템플릿을 선택하지 않고 직접 만들 수도 있습니다.)
  • 지정된 템플릿의 워크 플로우가 작성되므로, 파일명, 처리를 기술한다. ※「Git 리포지토리/.github/workflows」아래에 작성합니다. ※ 워크플로의 구성, 구문에 대해서는 나중에 설명합니다.
  • 워크 플로우 처리를 작성한 후 커밋하십시오.
  • 커밋이 완료되면 워크플로를 처음 실행합니다. 이후 워크플로에서 지정한 이벤트가 발생할 때마다 워크플로가 실행됩니다.

  • 워크플로 구성



    워크플로는 다음과 같은 구성입니다.


    워크플로 구문


  • Java with Maven 템플릿을 예로 들어 워크플로 구문을 설명합니다.


  • 참고 자료



    GitHub Actions 공식 문서
    htps : // 에 lp. 기주 b. 코 m / 자 / 아 c 치온 s

    좋은 웹페이지 즐겨찾기