Github Action
Github Action은 Github에서 제공하는 CI/CD 서비스입니다. Github Action을 사용하면 자동으로 워크플로우를 실행할 수 있어 빌드, 테스트, 배포 등을 자동화할 수 있습니다.
Github Action 사용법
github action을 사용하기 위해서는 .github/workflows
디렉토리에 워크플로우 파일을 작성해야 합니다. 워크플로우 파일은 .yml
확장자를 가지며, 워크플로우 파일은 크게 name
, on
, jobs
섹션으로 구성되어 있습니다.
1 | name: CI 하기 |
name
은 워크플로우의 이름을 나타냅니다.
on
on
은 워크플로우가 실행되는 조건을 나타냅니다. 위 예제에서는 push
이벤트가 발생하고 브랜치가 main
일 때 워크플로우가 실행됩니다. cron
을 사용하여 주기적으로 워크플로우를 실행할 수도 있습니다.
1 | on: |
하지만 cron의 느슨한 제약조건으로 인해 정확한 시간에 실행되지 않을 수 있으니 주의해야 합니다.
jobs
jobs
는 워크플로우의 작업을 나타냅니다. jobs
는 여러개의 작업을 가질 수 있으며, 각 작업은 runs-on
, steps
로 구성되어 있습니다.
여러개의 jobs
를 가질 때 병렬로 실행됩니다. 만약 jobs
가 서로 의존성이 있을 때는 needs
키워드를 사용하여 의존성을 나타낼 수 있습니다.
1 | jobs: |
혹은 if
키워드를 사용하여 조건에 따라 작업을 실행할 수도 있습니다.
1 | jobs: |
runs-on
runs-on
은 작업이 실행되는 환경을 나타냅니다. ubuntu-latest
, windows-latest
, macos-latest
등을 사용할 수 있습니다.
steps
steps는 작업의 단계를 나타냅니다. 각 단계는 name
, run
, uses
로 구성되어 있습니다.
name
은 단계의 이름을 나타냅니다.
uses
는 마켓플레이스에서 제공하는 액션을 사용할 때 사용합니다. 예를 들어, actions/checkout@v3
는 소스코드를 체크아웃하는 액션을 사용합니다.
run
은 직접 명령어를 실행할 때 사용합니다. uses
를 사용해서 환경을 설정하고, run
을 사용해서 빌드, 테스트, 배포 등을 실행할 수 있습니다.
실행
actions
탭에서 워크플로우를 확인할 수 있습니다. 워크플로우가 성공적으로 실행되었다면 초록색 체크 마크가 표시됩니다. 실패했다면 빨간색 엑스표시가 표시됩니다.
내부에 들어가면 각 jobs
실행 결과를 확인할 수 있습니다.
jobs
를 클릭하면 각 steps
의 실행 결과를 확인할 수 있습니다.
마무리
Github Action을 사용하면 낮은 러닝커브로 CI/CD를 구축할 수 있습니다. Github Action을 사용하여 빌드, 테스트, 배포 등을 자동화하면 개발 생산성을 높일 수 있습니다.