핵심 개념들
#
액션(Action)스텝을 결합하여 잡을 생성하는 개별적인 태스크. 워크플로우에서 가장 작은 포터블 빌딩 블록입니다. 생성, 깃허브 커뮤니티에서 공유된 액션 사용, 퍼블릭 액션을 커스터마이즈하기를 할 수 있습니다. 워크플로우에서 사용하기 위해서는 반드시 스텝으로써 포함되어야만 합니다.
#
아티팩트(Artifacts)아티팩트들은 코드를 빌드할 때나 테스트할 때 생성되는 파일들입니다. 예를 들면, 바이너리 파일이나 패키지 파일들, 테스트 결과들, 스크린샷들, 또는 로그 파일들이 포함될 수 있습니다. 아티팩트들은 생성된 워크플로우와 연관되어(Associated) 있으며, 다른 잡에 의해 사용되거나 배포될(deployed) 수 있습니다.
#
CI (지속적인 통합, Continuous integration)공유 레포지토리에 자주 커밋하는 작은 코드들의 변화의 소프트웨어 개발 프랙티스. 깃허브 액션과 함께 코드 빌딩과 테스팅을 자동화할 수 있는 커스텀한 CI 워크플로우들을 생성할 수 있습니다. 레포지토리에서 코드 변화나 자세한 로그들의 상태를 각각의 액션마다 살펴볼 수 있습니다. CI는 버그를 더 빠르게 감지하고 해결하기 위해 코드 변화에 대한 즉각적인 피드백을 제공해 줌으로써 개발자들의 시간을 절약해줍니다.
#
CD (지속적인 배포, deployment)CD는 CI에 의해 빌드됩니다. 새로운 코드가 커밋되어 CI 테스트를 거치면, 코드는 자동으로 프로덕션에 배포됩니다. 깃허브 액션과 함께, 레포지토리로 부터 자동으로 코드를 클라우드, self-hosted-servcie, 또는 플랫폼에 자동으로 배포하기 위해, 커스텀한 CD 워크플로우를 생성할 수 있습니다. CD는 배포 프로세스를 자동화하고 테스트되고 안정화된 코드의 변화를 더 빠르게 소비자에게 배포함으로써 개발자들의 시간을 절약해줍니다.
#
이벤트 (Event)워크플로우를 트리거하기 위한 특정한 활동(Activity). 예를들면, 깃허브에 누군가 레포지토리에 커밋하거나, 이슈나 풀 요청이 생성되었을 때로부터 시작된다. 또 외부의 이벤트가 발생했을 때 레포지토리 디스패치 웹훅을 사용하여 실행 시킬 수 있게끔 워크플로우를 구성할 수 있다.
#
깃허브 호스티드 러너 (GitHub-hosted runner)깃허브는 리눅스, 윈도우즈, 그리고 맥OS 러너를 호스트합니다. 잡은 일반적으로 사용되거나(commonly-used) 미리 설치된(preinstalled) 소프트웨어를 포함한 가상 머신의 새 인스턴스 안에서 실행됩니다.
#
잡 (Job)스텝들로 이루어진 정의된 태스크. 각 잡은 가상환경의 새로운 인스턴스에서 실행된다. 잡이 어떻게 실행될것인가에 관해 워크플로우 파일에서 의존성 룰들(dependency rules)을 정의할 수 있습니다. 잡들은 동시에 병행하여 실행될 수 있거나 이전 잡의 상태에 관해서 의존적이게 일련적으로 실행될 수 있습니다. 예를 들면, 워크플로우는 코드를 빌드하는 것과 테스트하는 것이라는 두 개의 일련의 잡들을 가질 수 있습니다. 이 경우 테스트 잡은 빌드잡의 상태에 대하여 의존적입니다. 만약 빌드잡이 실패한다면, 테스트 잡은 실행되지 않을 것입니다.
#
러너 (Runner, 실행기)깃허브 액션 러너 어플리케이션이 설치된 머신. Github에서 호스트돈 러너 혹은 사용자 소유의 러너를 사용할 수 있습니다. 러너는 실행가능한 잡들을 기다립니다. 러너가 잡을 선택하면, 러너는 잡의 액션을 실행하고 프로그레스, 로그, 그리고 마지막 결과들을 깃허브에 보고합니다. 더 많은 정보는 "github-hosted runner"와 "self-hosted runner"를 살펴보십시오.
#
Self-hosted runner깃허브 호스티드 러너에 비교하여, 셀프 호스티드 러너는 더 많은 하드웨어, OS, 그리고 소프트웨어 툴의 제어를 제공합니다. 셀프 호스티드 러너로 커스텀한 하드웨어 구성 (더 많은 프로세싱 파워 또는 더 큰 잡들을 실행시키기위한 메모리 등)을 생성하고, 로컬 네트워크에 소프트웨어를 인스톨 할 수 있으며, 깃허브 호스티드 러너에서 제공하지 않는 OS를 선책할 수 있습니다. 더 많은 정보는 "사용자 소유의 러너 호스팅하기"를 참고하세요.
#
스텝 (Step)스텝은 잡에의해 수행되는 태스크의 모음입니다. 잡 안의 각 스텝은 같은 가상환경에서 실행되며,해당 잡의 액션이 파일시스템을 사용하여 정보를 공유하게끔 해줍니다.
#
가상환경 (Virtual evnironmnet)깃허브 호스티드 러너의 가상환경은 가상머신의 하드웨어 구성, OS, 그리고 설치된 소프트웨어를 포함합니다. 더 많은 정보는 "깃허브 호스티드 러너 가상 환경"
#
워크플로우 (Workflow)깃허브 레포지토리에서 프로젝트를 빌드, 테스트, 패키징, 릴리즈, 또는 배포를 설정할 수 있는 구성가능한(configurable) 자동화된 프로세스.
#
워크플로우 파일 (Workflow File)최소 하나의 잡이 있는 워크플로우 구성을 정의하는 YAML 파일. 레포지토리의 루트 디렉터리의 .github/workflows
디렉토리에서 살고있다.
#
워크플로우 실행미리 구성된 이벤트가 발생할 경우 실행되는 워크플로우의 인스턴스. 각각 워크플로우 실행에 대해 잡, 액션, 로그, 그리고 상태등을 볼 수 있다.