재사용 가능한 워크플로 및 복합 작업 정보
재사용 가능한 워크플로와 복합 작업은 워크플로의 콘텐츠의 중복을 방지하는 두 가지 방법입니다.
재사용 가능한 워크플로를 사용하면 모든 작업 및 단계를 포함하여 전체 워크플로를 다시 사용할 수 있습니다. 이는 여러 리포지토리에서 사용하려는 완전한 CI/CD 프로세스가 있는 경우에 특히 유용합니다. 재사용 가능한 워크플로를 한 곳에서 중앙 집중식으로 관리할 수 있지만 조직 전체의 많은 리포지토리에서 사용할 수 있습니다.
복합 작업을 사용하면 여러 단계를 단일 작업으로 결합할 수 있습니다. 그런 다음 이 단계 번들을 워크플로 내에서 단일 단계로 실행할 수 있습니다. 이는 둘 이상의 워크플로에서 사용할 단계 시퀀스가 있는 경우에 유용합니다. 복합 작업을 사용하면 긴 YAML 워크플로 파일을 훨씬 더 작은 파일로 리팩터링하고 워크플로 파일 간에 복사 및 붙여넣기를 방지할 수 있습니다.
재사용 가능한 워크플로 및 복합 작업은 비슷한 문제를 해결하지만 몇 가지 중요한 차이점이 있습니다. 대부분의 경우 두 솔루션 중 하나를 사용할 수 있습니다. 그러나 이 문서의 뒷부분에서 설명한 대로 둘 중 하나를 사용해야 하는 경우도 있습니다.
재사용 가능한 워크플로 및 복합 작업을 만들고 사용하는 방법에 대한 자세한 내용은 "워크플로 다시 사용" 및"복합 작업 만들기"을 참조하세요.
재사용 가능한 워크플로와 복합 작업의 비교
- 워크플로 작업 - 복합 작업에는 호출자 워크플로 내에서 단일 단계로 실행되는 일련의 단계가 포함됩니다. 재사용 가능한 워크플로와 달리 작업을 포함할 수 없습니다.
- 로깅 - 복합 작업이 실행되면 로그는 복합 작업 내의 개별 단계가 아니라 복합 작업을 실행한 호출자 워크플로의 단계만 표시합니다. 재사용 가능한 워크플로를 사용하면 모든 작업과 단계가 별도로 기록됩니다.
- 실행기 지정 - 재사용 가능한 워크플로에는 하나 이상의 작업이 포함됩니다. 모든 워크플로 작업과 마찬가지로 재사용 가능한 워크플로의 작업은 작업이 실행될 컴퓨터 유형을 지정합니다. 따라서 호출 워크플로 작업에 대해 선택한 컴퓨터와 다를 수 있는 컴퓨터 유형에서 단계를 실행해야 하는 경우 복합 작업이 아닌 재사용 가능한 워크플로를 사용해야 합니다.
- 단계에 출력 전달 - 복합 작업은 워크플로 작업 내에서 한 단계로 실행되며 복합 작업을 실행하는 단계 전후에 여러 단계를 수행할 수 있습니다. 재사용 가능한 워크플로는 작업 단계 내에서 호출되는 것이 아니라 작업 내에서 직접 호출됩니다. 재사용 가능한 워크플로를 호출한 후에는 작업에 단계를 추가할 수 없으므로
GITHUB_ENV
를 사용하여 호출자 워크플로의 후속 작업 단계에 값을 전달할 수 없습니다.
재사용 가능한 워크플로와 복합 작업 간의 주요 차이점
재사용 가능한 워크플로 | 복합 작업 |
---|---|
모든 표준 워크플로 파일과 매우 유사한 YAML 파일 | 워크플로 단계 번들을 포함하는 작업 |
재사용 가능한 각 워크플로는 리포지토리의 .github/workflows 디렉터리에 있는 단일 파일임 | 각 복합 작업은 별도의 리포지토리 또는 디렉터리로, action.yml 파일과 선택적으로 다른 파일을 포함함 |
특정 YAML 파일을 참조하여 호출됨 | 작업이 정의된 리포지토리 또는 디렉터리를 참조하여 호출됨 |
단계가 아닌 작업 내에서 직접 호출됨 | 작업 내에서 한 단계로 실행 |
여러 작업을 포함할 수 있음 | 작업이 포함하지 않음 |
각 단계는 실시간으로 기록됨 | 여러 단계가 포함된 경우에도 한 단계로 기록됨 |
최대 4개 수준의 워크플로를 연결할 수 있음 | 하나의 워크플로에 최대 10개의 복합 작업을 포함하도록 중첩할 수 있음 |
비밀을 사용할 수 있음 | 비밀을 사용할 수 없음 |