[GitHub Actions] 한번 알아보자
[GitHub Actions] 한번 알아보자
GitHub Actions를 먼저 알아보기전 GitHub을 먼저 알아보자면, GitHub(깃허브)이란 소프트웨어 버전 관리와 협업을 위한 Git 플랫폼 입니다. 별도로 서버를 구성하지 않고도 GitHub 계정을 생성하여 소스 코드를 관리할 수 있습니다.
GitHub Actions이란 GitHub에서 공식적으로 제공하는 CI/CD 툴로써, 빌드, 테스트 및 배포 등의 파이프라인을 자동화할 수 있습니다. 또한 다양한 이벤트와 검색, 생성 및 공유 등 다양한 워크플로 및 사용자 정의된 워크플로를 사용할 수 있습니다. GitHub Actions의 특징 및 비용, 사용, 사례에 대한 기본적인 정보를 알아보겠습니다.
특징
GitHub Actions은 GitHub 저장소와 긴밀하게 통합되어 있어, 저장소 내에서 워크플로우를 설정하고 관리할 수 있습니다.
또한 코드, 이슈, 워크플로우 등 GitHub의 다양한 기능과 함께 통합되어 효과적인 협업과 개발이 가능합니다. 저장소 내에서 워크플로우를 설정하고 관리할 수 있다는 점이 큰 특징입니다.
GitHub에서 제공하는 Runner를 통해 별도의 서버(Runner)를 구성하지 않고 CI/CD Job을 실행할 수 있습니다.
Runner는 Windows, MacOS, Linux와 같은 다양한 운영체제에서 동작하며, 다양한 환경에서 실행할 수 있습니다.
병렬로 여러 워크플로우 작업을 처리할 수 있어, 대규모 프로젝트에서도 효율적으로 사용할 수 있습니다.
비용
기본적으로 한 달에 Job 실행에 대한 시간을 3,000분을 무료로 제공해줍니다.
운영 체제 및 CPU에 따른 분당 요금은 다르며 가장 기본적인 요금은 분당 $0.008 입니다.
대략적으로 하루에 1분이 소요되는 Job을 100번 실행한다면 한 달 요금이 $24정도 발생됩니다.
Job 실행 시간이 길거나 많은 수를 실행한다면 생각보다 높은 비용이 발생될 수 있습니다.
사용
워크플로 파일을 GitHub 프로젝트의 ".github\workflows" 경로에 YAML 파일로 작성하면 됩니다.
작성 완료 후 속성을 부여하여 프로젝트에 푸쉬한다면 설정한 YAML 파일이 자동으로 동작합니다. 별도로 Runner를 설정하거나, GitHub 프로젝트의 옵션을 설정할 필요 없이 경로에 맞춰 파일을 생성하면 바로 동작합니다.
사례
다양한 기업에서 DevOps CI/CD 도구로 GitHub Action을 사용하고 계십니다.
몇 곳의 사레를 링크로 적어봤으며 참고하시기 바랍니다.
[뱅크 샐러드]
https://blog.banksalad.com/tech/become-an-organization-that-deploys-1000-times-a-day/
[다나와]
https://danawalab.github.io/common/2021/12/28/Github-Actions-%EC%82%AC%EC%9A%A9%EB%B2%95.html
[카카오엔터프라이즈]
https://tech.kakaoenterprise.com/180
GitHub Action과 다른 CI/CD 툴을 비교해봐도 큰 틀에서는 CI/CD 코드에 대한 형식과 기능은 비슷하지만 상세하게는 조금씩 다른 것 같습니다. 자신이 구성하고자 하는 환경과 효율, 비용 등을 고려하여 맞는 CI/CD 도구를 사용하시기 바랍니다.
지금까지 GitHub Action을 한번 알아보는 시간을 가졌습니다....! 끝...!
유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!
[Reference]
https://docs.github.com/en/actions