개요
워크플로 실행은 기본적으로 병렬로 실행되는 하나 이상의 jobs
로 구성됩니다. 작업을 순차적으로 실행하려면 jobs.<job_id>.needs
키워드를 사용하여 다른 작업에 대한 종속성을 정의할 수 있습니다.
각 작업은 runs-on
으로 지정된 실행기 환경에서 실행됩니다.
워크플로 사용량 한도 내에 있는 한 개수에 제한 없이 작업을 실행할 수 있습니다. 자세한 내용은 GitHub호스팅 실행기에 대한 "자체 호스팅 실행기 정보."
워크플로 실행에서 실행 중인 작업의 고유 식별자를 찾아야 하는 경우 GitHub AE API를 사용할 수 있습니다. 자세한 내용은 "동작"을 참조하세요.
작업에 대한 ID 설정
jobs.<job_id>
를 사용하여 작업에 고유 식별자를 지정합니다. job_id
키는 문자열이고 해당 값은 작업 구성 데이터 맵입니다. <job_id>
를 jobs
개체에 고유한 문자열로 바꿔야 합니다. <job_id>
는 문자 또는 _
로 시작해야 하며 영숫자, -
또는 _
만 포함해야 합니다.
예: 작업 만들기
이 예제에서는 두 개의 작업이 생성되었으며 해당 job_id
값은 my_first_job
과 my_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]
이 예제에서 job1
은 job2
가 시작되기 전에 성공적으로 완료해야 하며 job3
은 job1
및 job2
모두 완료되기를 기다립니다.
이 예제의 작업은 순차적으로 실행됩니다.
job1
job2
job3
예: 성공적인 종속 작업이 필요하지 않음
jobs:
job1:
job2:
needs: job1
job3:
if: ${{ always() }}
needs: [job1, job2]
이 예제에서 job3
은 always()
조건식을 사용하여 성공 여부에 관계없이 job1
및 job2
가 완료된 후에 항상 실행되도록 합니다. 자세한 내용은 "식"을 참조하세요.