최근 개발 효율화를 위해 ESLint, Prettier, Husky + lint-staged 초기 설정 구성 방법라는 글을 작성하였으며 또 다른 방법이 있을까 찾아보게 되었습니다
그리고 GitHub Action과 Workflow를 적용하여 개발의 생산성과 효율성를 높일 수 있다는 것을 알게되어 공부를 하게되었습니다.
이번 글은 GitHub Action의 개념, Workflow를 도입하는 방법에 대해 알아보고 어떻게 개발의 효율성이 높아지는지에 대해 알아보는 글을 작성하려고 합니다.
GItHub Actions는 GItHub에서 호스팅되는 지속적인 통합 및 배포(CI/CD) 서비스 입니다. GitHub Actions를 사용하면 레포지토리에서 소프트웨어 워크플로우를 자동화할 수 있으며 Code Push, Pull Request 생성 또는 이벤트 발생 시 특정 작업을 실행 할수 있습니다.

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

Job은 워크플로우에서 실행되는 단위입니다. 각 작업은 일련의 단계(steps)로 구성되며 이 단계들은 주어진 환경에서 실행됩니다.
여러작업을 정의하여 하나의 워크플로우에서 복수의 작업을 동시에 실행 할 수 있습니다. 이는 여러 작업을 독립적으로 실행하고 각 작업이 성공적으로 완료되면 다음 작업을 실행할 수 있는 유연성을 제공합니다.
