# GitHub Actions 번역하며 요약하기
https://help.github.com/en/actions/getting-started-with-github-actions/about-github-actions
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
- Github Marketplace 에서 찾을 수 있으며 공유 및 사용 가능하다
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
'기타개발 > GitHub Actions' 카테고리의 다른 글
GitHub Actions #6 - Creating and storing encrypted secrets (0) | 2020.03.29 |
---|---|
GitHub Actions #5 - Build and upload debug apk (0) | 2020.03.28 |
GitHub Actions #4 - Managing a workflow run (0) | 2020.03.27 |
GitHub Actions #3 - Starting with preconfigured workflow templates (0) | 2020.03.26 |
GitHub Actions #2 - Core concepts (0) | 2020.03.25 |
댓글