잡(job) 사이에 정보 전달하기
잡(job) 사이에 정보 전달하기
잡에서 출력값(output)을 정의하면 한 잡에서 다른 잡으로 정보를 전달할 수 있어요. 워크플로를 여러 잡으로 나눠서 관리할 때 반드시 알아두어야 할 기법이에요.
출처: 문서
본문
출력값을 정의해서 한 잡에서 다른 잡으로 정보를 전달할 수 있습니다.
출력값 정의하고 사용하기
-
출력값을 가져올 잡이 들어 있는 워크플로 파일을 엽니다.
-
jobs.<job_id>.outputs구문을 사용해서 잡의 출력값을 정의합니다. 예를 들어, 아래 잡은output1과output2출력값을 정의하는데, 각각step1과step2의 결과에 매핑됩니다:jobs: job1: runs-on: ubuntu-latest outputs: output1: ${{ steps.step1.outputs.test }} output2: ${{ steps.step2.outputs.test }} steps: - id: step1 run: echo "test=hello" >> "$GITHUB_OUTPUT" - id: step2 run: echo "test=world" >> "$GITHUB_OUTPUT" -
이 출력값에 접근하려는 별도의 잡에서
jobs.<job_id>.needs구문을 사용해서 원래 잡에 의존하도록 만듭니다. 예를 들어, 아래 잡은 실행 전에job1이 완료되었는지 확인합니다:jobs: # Assume job1 is defined as above job2: runs-on: ubuntu-latest needs: job1 -
의존하는 잡에서 출력값에 접근하려면
needs.<job_id>.outputs.<output_name>구문을 사용합니다. 예를 들어, 아래 잡은job1에서 정의한output1과output2출력값에 접근합니다:jobs: # Assume job1 is defined as above job2: runs-on: ubuntu-latest needs: job1 steps: - env: OUTPUT1: ${{needs.job1.outputs.output1}} OUTPUT2: ${{needs.job1.outputs.output2}} run: echo "$OUTPUT1 $OUTPUT2"
다음 단계
잡 출력값과 needs 컨텍스트에 대해 더 자세히 알아보려면 Workflow syntax for GitHub Actions의 다음 섹션을 참고하세요:
한 워크플로에서 다른 워크플로로 잡 출력값을 전달하는 방법에 대해 더 자세히 알아보려면 Reuse workflows의 다음 섹션을 참고하세요: