잡 (Jobs)

잡 (Jobs)

워크플로 안의 최소 실행 단위는 **스텝(Step)**이지만, 그 스텝들을 묶어 하나의 컴퓨팅 단위로 돌리는 데가 바로 **잡(Job)**이에요. 잡은 각자 독립된 러너에서 실행되고, 기본적으로는 서로 병렬로 돌아가요. 이 페이지에서는 잡에 이름과 ID를 붙이는 법, 잡 사이의 실행 순서를 정하는 needs:, 그리고 잡을 여러 조합으로 찍어내는 매트릭스(matrix)까지 잡 관련 핵심 문법을 정리해요.

상위 문서: GitHub Actions · 워크플로와 이벤트 · 러너

출처: https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow

잡에 ID 붙이기

잡마다 jobs.<job_id>로 고유한 식별자를 붙여줘요. <job_id>는 문자열이고, 그 값이 곧 그 잡의 설정 데이터가 돼요. 이름은 jobs.<job_id>.name으로 정하는데, 이게 GitHub UI에 표시되는 친숙한 이름이에요.

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

실행 순서 정하기 — needs:

jobs.<job_id>.needs로 어떤 잡이 먼저 성공해야 이 잡이 실행되는지를 선언해요. 값은 잡 ID 하나(문자열) 또는 여러 개(배열)가 될 수 있어요. 의존하는 잡이 실패하거나 건너뛰어지면, 그다음 잡들도 조건 표현식(if:)이 없으면 전부 건너뛰어져요.

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

이 예시에서는 job1job2job3 순서로 차례대로 실행돼요. 만약 의존 잡이 실패해도 계속 실행하고 싶다면 jobs.<job_id>.ifalways() 조건 표현식을 쓰면 돼요. 하나의 체인이 길어지면 실패 지점부터 뒤의 모든 잡이 함께 막힌다는 점도 기억해두세요.

여러 조합으로 실행하기 — 매트릭스

잡을 OS·언어 버전 등 변수의 조합마다 자동으로 실행하고 싶다면 strategy.matrix를 정의해요. 개념과 예시는 매트릭스(Matrix) 매트릭스 전략에서 자세히 다룰게요.

더 알아보기