GitHub Actions를 사용하여 개발 효율성 높이는 방법

정진범·2024년 2월 18일

최근 개발 효율화를 위해 ESLint, Prettier, Husky + lint-staged 초기 설정 구성 방법라는 글을 작성하였으며 또 다른 방법이 있을까 찾아보게 되었습니다

그리고 GitHub Action과 Workflow를 적용하여 개발의 생산성과 효율성를 높일 수 있다는 것을 알게되어 공부를 하게되었습니다.

이번 글은 GitHub Action의 개념, Workflow를 도입하는 방법에 대해 알아보고 어떻게 개발의 효율성이 높아지는지에 대해 알아보는 글을 작성하려고 합니다.

GitHub Actions란?

GItHub Actions는 GItHub에서 호스팅되는 지속적인 통합 및 배포(CI/CD) 서비스 입니다. GitHub Actions를 사용하면 레포지토리에서 소프트웨어 워크플로우를 자동화할 수 있으며 Code Push, Pull Request 생성 또는 이벤트 발생 시 특정 작업을 실행 할수 있습니다.

Workflow

워크플로우는 작업 단계들을 의미합니다. 개발에서는 코드의 작성, 테스트, 빌드, 배포와 같은 프로세스가 있습니다. GitHub Actions를 통해 정의가 가능하며 프로세스를 자동화하기 위해 특정 이벤트가 발생할 때 실행되는 작업들의 집합입니다. 워크플로우는 YAML 파일로 정의가 가능하며 각 단계는 Actions를 통해 이루어집니다.

  • name : 워크플로우의 이름을 지정합니다.
  • on : 트리거 이벤트를 정의합니다. 이 예제에서는 코드가 main 브랜치로 push되거나 pull request가 main 브랜치로 열리면 워크플로우가 실행됩니다.

Job

Job은 워크플로우에서 실행되는 단위입니다. 각 작업은 일련의 단계(steps)로 구성되며 이 단계들은 주어진 환경에서 실행됩니다.

여러작업을 정의하여 하나의 워크플로우에서 복수의 작업을 동시에 실행 할 수 있습니다. 이는 여러 작업을 독립적으로 실행하고 각 작업이 성공적으로 완료되면 다음 작업을 실행할 수 있는 유연성을 제공합니다.

  • runs-on : 작업이 실행될 환경을 지정합니다. 이는 GitHub에서 제공하는 호스트 환경이나 커스텀 환견(예:도커 컨테이너)일 수 있습니다. 주로 사용되는 호스트 환경은 Ubuntu, MacOS, Windwos 등이 있습니다.
  • steps : 작업의 구성 요소로 각 단계별로 특정한 작업을 수행합니다. 예를 들어 코드 체크아웃, 테스트 실행 등의 작업을 단계별로 정의 할 수 있습니다.
  • name : 각 단계의 이름을 지정합니다.
  • uses : 다른 GitHub Actions를 사용하여 작업을 수행할 수 있습니다. 다른 사람이 만든 커스텀 액션을 사용할 때 유용합니다.
  • with : 액션에 전달되는 매개변수를 지정합니다. 이를 통해 액션의 동작을 커스터마이즈 할 수 있습니다.

참고

profile
열정적인 개발자

0개의 댓글