Skip to main content

작업 간에 정보 전달

출력을 정의하여 한 작업에서 다른 작업으로 정보를 전달할 수 있습니다.

작업 출력 정의 및 사용

  1. 출력을 가져올 작업이 포함된 워크플로 파일을 엽니다.

  2. jobs.<job_id>.outputs 구문을 사용하여 작업 관련 출력을 정의합니다. 예를 들어 다음 작업은 각각 step1의 결과에 매핑되는 output1 출력과 step2의 결과에 매핑되는 output2 출력을 정의합니다.

    jobs:
      job1:
        runs-on: ubuntu-latest
        outputs:
          output1: $
          output2: $
        steps:
          - id: step1
            run: echo "test=hello" >> "$GITHUB_OUTPUT"
          - id: step2
            run: echo "test=world" >> "$GITHUB_OUTPUT"
    
  3. 해당 출력에 액세스하려는 별도의 작업에서 jobs.<job_id>.needs 구문을 사용하여 이를 원래 작업에 종속시킵니다. 예를 들어 다음 작업은 job1이 실행 전에 완료되었는지 확인합니다.

    jobs:
      # Assume job1 is defined as above
      job2:
        runs-on: ubuntu-latest
        needs: job1
    
  4. 종속 작업의 출력에 액세스하려면 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: $
              OUTPUT2: $
            run: echo "$OUTPUT1 $OUTPUT2"
    

다음 단계

작업 출력과 needs 컨텍스트에 대한 자세한 내용은 GitHub Actions에 대한 워크플로 구문의 다음 섹션을 참조하세요.