Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

워크플로에서 작업 사용

워크플로를 사용하여 여러 작업을 실행합니다.

참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.

개요

워크플로 실행은 기본적으로 병렬로 실행되는 하나 이상의 jobs로 구성됩니다. 작업을 순차적으로 실행하려면 jobs.<job_id>.needs 키워드를 사용하여 다른 작업에 대한 종속성을 정의할 수 있습니다.

각 작업은 runs-on으로 지정된 실행기 환경에서 실행됩니다.

워크플로 사용량 한도 내에 있는 한 개수에 제한 없이 작업을 실행할 수 있습니다. 자세한 내용은 GitHub 호스트 러너의 경우 “사용 제한 및 청구” 및 셀프 호스트 사용 제한은 “셀프 호스트 실행기 정보”를 참조하세요.

워크플로 실행에서 실행 중인 작업의 고유 식별자를 찾아야 하는 경우 GitHub Enterprise Server API를 사용할 수 있습니다. 자세한 내용은 “워크플로 작업”을 참조하세요.

작업에 대한 ID 설정

jobs.<job_id>를 사용하여 작업에 고유 식별자를 지정합니다. job_id 키는 문자열이고 해당 값은 작업 구성 데이터 맵입니다. <job_id>jobs 개체에 고유한 문자열로 바꿔야 합니다. <job_id>는 문자 또는 _로 시작해야 하며 영숫자, - 또는 _만 포함해야 합니다.

예: 작업 만들기

이 예제에서는 두 개의 작업이 생성되었으며 해당 job_id 값은 my_first_jobmy_second_job입니다.

jobs:
  my_first_job:
    name: My first job
  my_second_job:
    name: My second job

작업에 대한 이름 설정

jobs.<job_id>.name을 사용하여 GitHub UI에 표시되는 작업 이름을 설정합니다.

필수 구성 요소 작업 정의

이 작업이 실행되기 전에 완료해야 하는 작업을 식별하는 데 jobs.<job_id>.needs를 사용합니다. 문자열 또는 문자열 배열일 수 있습니다. 작업이 실패하면 작업이 계속되도록 하는 조건식을 사용하지 않는 한 작업이 필요한 모든 작업을 건너뜁니다. 실행에 서로 필요한 일련의 작업이 포함된 경우 오류 지점부터 종속성 체인의 모든 작업에 오류가 적용됩니다.

예: 성공적인 종속 작업 요구

jobs:
  job1:
  job2:
    needs: job1
  job3:
    needs: [job1, job2]

이 예제에서 job1job2가 시작되기 전에 성공적으로 완료해야 하며 job3job1job2 모두 완료되기를 기다립니다.

이 예제의 작업은 순차적으로 실행됩니다.

  1. job1
  2. job2
  3. job3

예: 성공적인 종속 작업이 필요하지 않음

jobs:
  job1:
  job2:
    needs: job1
  job3:
    if: ${{ always() }}
    needs: [job1, job2]

이 예제에서 job3always() 조건식을 사용하여 성공 여부에 관계없이 job1job2가 완료된 후에 항상 실행되도록 합니다. 자세한 내용은 “언어 식”을 참조하세요.