참고: 필수 워크플로는 현재 베타 버전이며 변경될 수 있습니다.
개요
기본 분기에 대해 열린 모든 끌어오기 요청에 대해 조직의 리포지토리에서 실행해야 하는 워크플로를 구성할 수 있습니다. 필요한 워크플로를 사용하면 현재 및 향후 리포지토리에 적용되는 조직 전체 CI/CD 정책을 구현할 수 있습니다. 필수 워크플로는 끌어오기 요청 이벤트에 의해 트리거되며 필요한 상태 검사로 나타나 필요한 워크플로가 성공할 때까지 끌어오기 요청을 병합하는 기능을 차단합니다.

필요한 워크플로는 재사용 가능한 워크플로와 동일하지 않습니다. 재사용 가능한 워크플로는 다른 워크플로에서 호출할 수 있습니다. 필요한 워크플로는 조직 소유자가 리포지토리에 적용합니다.
필수 구성 요소
필요한 워크플로를 구성하기 전에 다음 필수 구성 요소를 확인합니다.
- 필요한 워크플로를 실행하려면 조직 설정의 리포지토리에 대해 GitHub Actions을(를) 사용하도록 설정해야 합니다. 조직 수준에서 사용하도록 설정되면 리포지토리의 설정에서 GitHub Actions이(가) 비활성화된 경우에도 필요한 워크플로가 실행됩니다. 조직의 리포지토리에서 GitHub Actions을(를) 관리하는 방법에 대한 자세한 내용은 "조직의 GitHub Actions 사용 안 함 또는 제한"을 참조하세요.
- 필요한 워크플로는 조직에서 사용할 수 있으며 조직의 계획이 필요한 상태 검사를 지원하는 리포지토리에서만 사용할 수 있습니다. 필요한 상태 검사가 지원되지 않는 경우 워크플로는 계속 실행되지만 필수 검사는 아니며 병합을 차단하지 않습니다. 필요한 상태 검사 지원에 대한 자세한 내용은 "AUTOTITLE"을 참조하세요.
- 필요한 워크플로가 필수 상태 검사로 실행되도록 하려면 리포지토리의 기본 분기가 조직의 기본 분기 설정과 일치해야 합니다. 기본 분기 이름이 일치하지 않으면 워크플로가 계속 실행되지만 필수 검사는 아닙니다. 기본 분기 이름 관리에 대한 자세한 내용은 "Managing the default branch name for repositories in your organization" 및 "Changing the default branch"을 참조하세요.
- 필요한 워크플로를 실행하려면 끌어오기 요청의 원본 리포지토리가 대상 리포지토리와 동일한 조직에 있어야 합니다. GitHub는 워크플로가 포함된 리포지토리에서 기본 분기의 HEAD 커밋에서 필요한 워크플로를 소스로 가져옵니다.
- 필요한 워크플로에 사용되는 비밀은 조직 수준 또는 대상 리포지토리에서 만들어야 합니다.
- 대상 리포지토리에서 워크플로가 실행될 때 원본 리포지토리의 비밀은 페치되지 않습니다.
원본 리포지토리에 대한 제한 사항 및 동작
원본 리포지토리 및 워크플로에 대한 다음 제한 사항 및 동작에 유의하세요.
- 필요한 워크플로는 모든 리포지토리 폴더에 저장할 수 있으며 일반 워크플로와 같은 폴더로
.github/workflows제한되지 않습니다. 필요한 워크플로가 재사용 가능한 워크플로를 호출하는 경우 재사용 가능한 워크플로를 폴더에.github/workflows저장해야 합니다. 재사용 가능한 워크플로를 호출할 때 필요한 워크플로는 전체 경로를 사용하고 재사용 가능한 워크플로를 참조해야 합니다. 예들 들어{owner}/{repo}/.github/workflows/{filename}@{ref}입니다. - 필요한 워크플로가 프라이빗 리포지토리에 포함된 경우 조직의 다른 리포지토리에서 리포지토리 내의 워크플로에 액세스할 수 있는지 확인해야 합니다. 자세한 내용은 "Managing GitHub Actions settings for a repository"을 참조하세요.
- 공용 리포지토리에 저장된 워크플로는 조직의 모든 리포지토리에 필요한 워크플로로 구성할 수 있습니다. 프라이빗 리포지토리에 저장된 워크플로는 조직의 다른 프라이빗 리포지토리에 필요한 워크플로로만 구성할 수 있습니다.
- CodeQL에는 리포지토리 수준에서 구성이 필요하므로 필수 워크플로에서는 CodeQL이 지원되지 않습니다. 코드 검사 구성에 대한 자세한 내용은 "Configuring code scanning for a repository"을 참조하세요.
대상 리포지토리에 대한 제한 사항 및 동작
대상 리포지토리에 대한 다음 제한 사항 및 동작에 유의하세요.
- 모든 또는 선택한 리포지토리에서 실행되도록 필요한 워크플로를 구성할 때 필요한 워크플로가 포함된 리포지토리의 표시 유형은 워크플로가 실행되는 조직의 리포지토리에 영향을 줍니다. 퍼블릭 리포지토리에 저장된 필수 워크플로는 모든 리포지토리에서 실행됩니다. 프라이빗 리포지토리에 저장된 필수 워크플로는 다른 프라이빗 리포지토리에서만 실행됩니다.
- 필요한 워크플로는 워크플로가 만들어진 리포지토리에서 실행되도록 구성할 수 없습니다. 필요한 워크플로를 저장하기 위해 별도의 리포지토리를 만드는 것이 좋습니다.
- 모든 또는 선택한 리포지토리에서 실행되도록 필요한 워크플로를 구성할 때 필요한 워크플로는 조직 설정에서 작업이 비활성화된 리포지토리에서 실행되지 않습니다.
필요한 워크플로에 대한 워크플로 실행 보기
필요한 워크플로가 리포지토리에서 한 번 이상 실행되면 해당 리포지토리의 "작업" 탭에서 해당 워크플로 실행을 볼 수 있습니다. 조직에서 필요에 따라 구성된 워크플로를 변경하려면 조직 소유자에게 문의해야 합니다. 필요한 워크플로 자체를 변경하려면 필요한 워크플로가 포함된 리포지토리에 대한 쓰기 권한이 있는 모든 사용자가 변경할 수 있습니다.
-
GitHub.com에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 Actions를 클릭합니다.

-
왼쪽 사이드바에서 "필수 워크플로"에서 필요한 워크플로에 대한 워크플로 실행을 볼 수 있습니다.

조직에 필요한 워크플로 추가
조직 소유자는 조직에서 필요한 워크플로를 구성할 수 있습니다. 자세한 내용은 "AUTOTITLE"을 참조하세요.