Skip to main content

중복 방지

재사용 가능한 워크플로 또는 복합 작업을 사용하여 워크플로의 콘텐츠가 중복되는 것을 방지할 수 있습니다.

재사용 가능한 워크플로 및 복합 작업 정보

재사용 가능한 워크플로와 복합 작업은 워크플로의 콘텐츠의 중복을 방지하는 두 가지 방법입니다.

재사용 가능한 워크플로를 사용하면 모든 작업 및 단계를 포함하여 전체 워크플로를 다시 사용할 수 있습니다. 이는 여러 리포지토리에서 사용하려는 완전한 CI/CD 프로세스가 있는 경우에 특히 유용합니다. 재사용 가능한 워크플로를 한 곳에서 중앙 집중식으로 관리할 수 있지만 조직 전체의 많은 리포지토리에서 사용할 수 있습니다.

복합 작업을 사용하면 여러 단계를 단일 작업으로 결합할 수 있습니다. 그런 다음 이 단계 번들을 워크플로 내에서 단일 단계로 실행할 수 있습니다. 이는 둘 이상의 워크플로에서 사용할 단계 시퀀스가 있는 경우에 유용합니다. 복합 작업을 사용하면 긴 YAML 워크플로 파일을 훨씬 더 작은 파일로 리팩터링하고 워크플로 파일 간에 복사 및 붙여넣기를 방지할 수 있습니다.

재사용 가능한 워크플로 및 복합 작업은 비슷한 문제를 해결하지만 몇 가지 중요한 차이점이 있습니다. 대부분의 경우 두 솔루션 중 하나를 사용할 수 있습니다. 그러나 이 문서의 뒷부분에서 설명한 대로 둘 중 하나를 사용해야 하는 경우도 있습니다.

재사용 가능한 워크플로 및 복합 작업을 만들고 사용하는 방법에 대한 자세한 내용은 "워크플로 다시 사용" 및"복합 작업 만들기"을 참조하세요.

재사용 가능한 워크플로와 복합 작업의 비교

  • 워크플로 작업 - 복합 작업에는 호출자 워크플로 내에서 단일 단계로 실행되는 일련의 단계가 포함됩니다. 재사용 가능한 워크플로와 달리 작업을 포함할 수 없습니다.
  • 로깅 - 복합 작업이 실행되면 로그는 복합 작업 내의 개별 단계가 아니라 복합 작업을 실행한 호출자 워크플로의 단계만 표시합니다. 재사용 가능한 워크플로를 사용하면 모든 작업과 단계가 별도로 기록됩니다.
  • 실행기 지정 - 재사용 가능한 워크플로에는 하나 이상의 작업이 포함됩니다. 모든 워크플로 작업과 마찬가지로 재사용 가능한 워크플로의 작업은 작업이 실행될 컴퓨터 유형을 지정합니다. 따라서 호출 워크플로 작업에 대해 선택한 컴퓨터와 다를 수 있는 컴퓨터 유형에서 단계를 실행해야 하는 경우 복합 작업이 아닌 재사용 가능한 워크플로를 사용해야 합니다.
  • 단계에 출력 전달 - 복합 작업은 워크플로 작업 내에서 한 단계로 실행되며 복합 작업을 실행하는 단계 전후에 여러 단계를 수행할 수 있습니다. 재사용 가능한 워크플로는 작업 단계 내에서 호출되는 것이 아니라 작업 내에서 직접 호출됩니다. 재사용 가능한 워크플로를 호출한 후에는 작업에 단계를 추가할 수 없으므로 GITHUB_ENV를 사용하여 호출자 워크플로의 후속 작업 단계에 값을 전달할 수 없습니다.

재사용 가능한 워크플로와 복합 작업 간의 주요 차이점

재사용 가능한 워크플로복합 작업
모든 표준 워크플로 파일과 매우 유사한 YAML 파일워크플로 단계 번들을 포함하는 작업
재사용 가능한 각 워크플로는 리포지토리의 .github/workflows 디렉터리에 있는 단일 파일임각 복합 작업은 별도의 리포지토리 또는 디렉터리로, action.yml 파일과 선택적으로 다른 파일을 포함함
특정 YAML 파일을 참조하여 호출됨작업이 정의된 리포지토리 또는 디렉터리를 참조하여 호출됨
단계가 아닌 작업 내에서 직접 호출됨작업 내에서 한 단계로 실행
여러 작업을 포함할 수 있음작업이 포함하지 않음
각 단계는 실시간으로 기록됨여러 단계가 포함된 경우에도 한 단계로 기록됨
최대 4개 수준의 워크플로를 연결할 수 있음하나의 워크플로에 최대 10개의 복합 작업을 포함하도록 중첩할 수 있음
비밀을 사용할 수 있음비밀을 사용할 수 없음
if: 조건부를 사용할 수 있음if: 조건부를 사용할 수 없음