Skip to main content

워크플로에서 작업 사용

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

개요

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

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

워크플로 사용량 한도 내에 있는 한 개수에 제한 없이 작업을 실행할 수 있습니다. 자세한 내용은GitHub에서 호스트되는 실행기 사용량 한도의 경우 "사용 제한, 청구, 관리", 자체 호스팅되는 실행기 사용량 한도의 경우 "자체 호스트형 실행기 정보"을(를) 각각 참조하세요.

워크플로 실행에서 실행 중인 작업의 고유 식별자를 찾아야 하는 경우 GitHub API를 사용할 수 있습니다. 자세한 내용은 "GitHub Actions에 대한 REST 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.<job_id>.ifalways() 조건식을 사용합니다.

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

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가 완료된 후에 항상 실행되도록 합니다. 자세한 내용은 ""을 참조하세요.