본문 바로가기
기타개발/GitHub Actions

GitHub Actions #1 - About GitHub Actions

by 궝테스트 2020. 3. 24.

# GitHub Actions 번역하며 요약하기

https://help.github.com/en/actions/getting-started-with-github-actions/about-github-actions

 

About GitHub Actions - GitHub Help

About GitHub Actions GitHub Actions enables you to create custom software development life cycle (SDLC) workflows directly in your GitHub repository. GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub

help.github.com

 

0. CI/CD

0-1. Continuous integration (CI)

  • 코드의 변경사항을 공유 저장소에 자주 커밋해주는 프로세스
  • 깃헙 액션을 사용하면 코드 빌드 및 테스트를 자동화하는 맞춤형 CI 워크플로우를 생성할 수 있다
  • 레파지토리에서 워크플로우의 각 액션에 대한 코드 변경 및 상세 로그의 상태를 볼 수 있다
  • CI 는 버그를 더 빠르게 감지하고 해결하기 위해 코드 변경에 대한 피드백을 바로 제공함으로써 개발자의 시간을 절약한다

0-2. Continuous deployment (CD)

  • 지속적인 배포는 지속적인 통합에 기반한다
  • 새로운 코드가 커밋되고 CI 테스트를 통과하면, 코드가 자동으로 프로덕션에 배포된다
  • 깃헙 액션을 사용하면 저장소의 클라우드, self-hosted 서비스 또는 플랫폼에 코드를 자동으로 배포하는 맞춤형 CD 워크플로우를 생성할 수 있다
  • CD 는 배포 프로세스를 자동화하여 개발자의 시간을 절약하고, 테스트되고 안정적인 코드 변경을 더 빠르게 사용자에게 배포할 수 있다

 

1. About GitHub Actions

레파지토리에서 직접 커스텀한 소프트웨어 개발 수명 주기 (SDLC) 워크플로우를 생성할 수 있다.
Public 레파지토리에는 무료이며,
Private 레파지토리의 경우 사용되는 깃헙 제품에 따라 일정량의 무료 스토리지를 받는다.

  • Build, Debug, Release, Run amulator, Create artifacts 등 원하는 작업을 설정하여 자동화하는 CI/CD 도구
  • 또한 코드 PR 및 이슈 협업에 대한 워크플로우 자동화를 도와준다
  • 레파지토리에서 직접 빌드할 수 있으며,
    Actions 탭에서 활성화 시켜 .yml 확장자의 워크플로우 파일을 작성하면 된다
  • 워크플로우는 Linux, macOS, Windows 및 깃헙에서 호스팅한 머신(runners), 컨테이너 에서 실행된다.
  • 개인 레파지토리의 액션, 공개 레파지토리의 오픈 소스 액션,
    Docker 컨테이너 이미지를 사용하여 워크플로우를 만들 수도 있다.
  • 워크플로우는 기본적으로 fork 한 레파지토리에서는 실행되지 않는다.

 

2. Discovering actions

 

3. Notifications for workflow runs

  • 깃헙 액션에 대해 이메일, 웹 알림을 활성화 가능
  • 워크플로우의 실행 상태 (successful, failed, neutral, canceled) 알림을 받을 수 있음
  • 실행 실패 상태에 대한 알림만 받도록 선택 가능

 

4. Usage limits

  • Workflow run time
    • 각 워크플로우 실행은 72시간으로 제한
    • 워크플로우가 위 제한에 도달하면 취소됨
    • Self-hosted runners 에도 적용 O
  • Job run time
    • 워크플로우의 각 Job의 최대 실행 시간은 6시간
    • Job이 위 제한에 도달하면 종료되고 완료되지 않음
    • Self-hosted runners 는 적용 X
  • Job queue time
    • Self-hosted runners 의 각 Job 은 최대 24시간 queue 에 있을 수 있음
    • Self-hosted runners 가 위 제한 내에 실행을 시작하지 않으면 Job 은 종료되고 완료되지 않음
    • Self-hosted runners 는 적용 X
  • API 요청
    • 레파지토리 내 모든 Action 을 한 시간에 최대 1000개 API 요청 실행 가능
    • 위 제한을 초과하면 추가 API 는 호출 실패하여 Job 이 실패할 수 있음
    • Self-hosted runner 에도 적용 O
  • Concurrent jobs : 계정 라이센스에 따라 동시 Job 수는 다음 표를 참고하면 된다

 

  • Job matrix
    • 워크플로우 실행 당 최대 256개의 Job 을 생성할 수 있음
    • Self-hosted runners 에도 적용 O

댓글