무브라더

Github Actions란 본문

Programming/GIT

Github Actions란

동스다
반응형
SMALL

GitHub Actions

GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화 할 수 있는 지속적 통합 및 지속적 배포 (CI/CD) 플랫폼이다.

레포지토리에 대한 모든 풀 요청을 빌드 및 테스트하는 워크플로우를 생성하거나 Merge된 풀 요청을 프로덕션에 배포할 수 있다.

Github Actions 구성요소

  • Workflows

워크플로우는 Github Actions의 기본 구성 단위이다.

일반적으로 .github/workflows/<workflow_name>.yaml 이라는 yaml 파일에 정의된다 (폴더구조)

워크플로우는 하나 이상의 작업을 포함할 수 있으며 리포지토리에서 푸시 또는 풀 요청과 같은 이벤트에 의해 트리거 된다.

  • Events

이벤트는 워크플로우를 시작하는 트리거이다. 일반적인 이벤트에는 push, pr(pull_request) 및 일정이 포함된다. 특정 요구 사항에 따라 트리거하는 사용자 지정 이벤트를 만들 수도 있다.

  • PR(Pull Repuest) 란

프로젝트는 여러 사람이서 작업을 진행하게 되는데 이럴 경우 저장소(리포지토리)가 여러개가 생성이 된다.

이런 상황에서 branch가 많이 생길테고 여기서 PR이란 ‘난 현재 코드를 수정한 상태이다. 만약 여러분도 코드를 수정했다면 제가 수정한 코드도 적용을 시켜달라’ 라는 뜻이다.

사진을 보면 push와 pr이 보일텐데 서로 다른 레포지토리로 push를 하게되면 이 레포지토리를 하나로 병합하는 작업이 필요하다. 이런 병합하는 과정에서 서로 코드를 어떻게 작성했는지 확인 할 수 있고 어떤 부분을 수정했는지도 확인할 수 있도록 PR을 진행하는 것이다.

PR 하는 방법 : https://velog.io/@minrami1115/PRPull-Request란

  • Jobs

Jobs는 워크플로우 내에서 실행되는 개별 작업이다. 러너라는 가상 머신에서 실행되며 하나 이상의 단계를 포함할 수 있다. 작업은 종속성에 따라 병렬 또는 순차적으로 실행될 수 있다.

  • Steps

Steps는 작업 내 작업의 가장 작은 단위이다. 각 단계는 sell 명령을 실행하거나 작업을 실행할 수 있다. 단계는 워크플로우 파일에 지정된 순서대로 실행되며 각 단계는 동일한 실행기 인스턴스 내에서 실행된다.

  • Actions

Actions는 작업 흐름에서 공유 및 결합할 수 있는 ‘재사용 가능’ 한 코드 단위이다. Github 커뮤니티에서 개발 및 게시하거나 자체적으로 사용할 수 있도록 만들 수 있다. Actions는 일반적으로 별도의 레포지토리에 저장되며 해당 레포지토리 이름으로 워크플로우 파일에서 참조된다.

  • Runners

Runners는 작업이 실행되는 가상머신 또는 자체 호스팅 환경이다. Github는 다양한 운영체제(Linux, macOS 및 Windows) 및 하드웨어 구성을 호스팅 러너에게 제공하거나, 보다 전문적인 요구 사항을 위해 자체 호스팅 러너를 설정할 수 있다.

  • Environment Variables and Secrets

환경 변수는 우크플로우 내의 작업 및 스크립트에서 엑세스 할 수 있는 데이터를 저장하는데 사용된다.

Secrets는 엑세스 토큰 또는 API 키와 같은 민감한 데이터를 저장하는 데 사용되는 암호화된 환경 변수이다. 로그에 노출되지 않으며 동일한 레포지토리에서 실행되는 작업을 통해서만 엑세스 할 수 있다.

  • Artifacts and Caching

아티팩트는 빌드 출력 또는 테스트 결과와 같이 나중에 저장하고 사용할 수 있는 워크플로우에서 생성된 파일이다. 캐싱은 워크플로우 실행 간에 데이터를 저장하고 검색하는데 사용되므로 이전에 다운로드한 종속성 또는 빌드 출력을 재사용하여 프로세스 속도를 높일 수 있다.

출처 : https://somaz.tistory.com/213

참고: https://soon327.tistory.com/119

반응형
LIST
Comments