자동 종속성 제출 정보
Note
자동 종속성 제출은 현재 Maven에 대해서만 지원됩니다.
종속성 그래프는 리포지토리의 매니페스트 및 잠금 파일을 분석하여 사용자가 리포지토리가 종속되는 종속성을 이해하는 데 도움이 됩니다. 그러나 일부 에코시스템에서는 빌드 시 전이적 종속성 해결이 발생하며 GitHub은(는) 리포지토리의 내용에 따라 모든 종속성을 자동으로 검색할 수 없습니다.
리포지토리에 대해 자동 종속성 제출을 사용하도록 설정하면 GitHub은(는) 리포지토리의 전이적 종속성을 자동으로 식별하고 종속성 제출 API을(를) 사용하여 이러한 종속성을 GitHub에 제출합니다. 그런 다음 종속성 그래프를 사용하여 이러한 종속성을 보고할 수 있습니다.
자동 종속성 제출 사용 횟수는 GitHub Actions분입니다. 자세한 내용은 "GitHub Actions 요금 청구 정보"을(를) 참조하세요.
필요에 따라 자동 종속성 제출을 위해 자체 호스팅 실행기 또는 GitHub 호스팅 대형 러너을(를) 구성할 수 있습니다. 자세한 내용은 "자동 종속성 제출에 자체 호스팅 실행기 사용" 및 "자동 종속성 제출에 GitHub 호스팅 대형 실행기 사용"을 참조하세요.
필수 조건
자동 종속성 제출을 사용하도록 설정하려면 리포지토리에 종속성 그래프를 사용하도록 설정해야 합니다.
또한 자동 종속성 제출을 사용하려면 리포지토리에 GitHub Actions을(를) 사용하도록 설정해야 합니다. 자세한 내용은 "리포지토리에 대한 GitHub Actions 설정 관리"을(를) 참조하세요.
자동 종속성 제출 사용
리포지토리 관리자는 이 절차에 설명된 단계에 따라 리포지토리에 대한 자동 종속성 제출을 사용하거나 사용하지 않도록 설정할 수 있습니다.
조직 소유자는 보안 구성을 사용하여 여러 리포지토리에 대해 자동 종속성 제출을 사용하도록 설정할 수 있습니다. 자세한 내용은 "사용자 지정 보안 구성 만들기"을(를) 참조하세요.
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.
-
사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.
-
"종속성 그래프"에서 "자동 종속성 제출" 옆의 드롭다운 메뉴를 클릭한 다음 사용을 선택합니다.
리포지토리에 대한 자동 종속성 제출을 사용하도록 설정하면 GitHub은(는) 다음을 수행합니다.
- 리포지토리의 모든 분기에서 리포지토리의 루트에 있는
pom.xml
파일의 변경 내용을 모니터링합니다. - 각 변경 내용에 대해 자동 종속성 제출을 수행합니다.
리포지토리의 작업 탭을 확인하여 실행되는 자동 워크플로에 대한 세부 정보를 볼 수 있습니다.
Note
자동 제출은 옵션을 사용하도록 설정한 후 pom.xml
파일에 대한 첫 번째 푸시 시 발생합니다.
자동 종속성 제출에 자체 호스팅 실행기 사용
GitHub Actions 인프라를 사용하는 대신 자동 종속성 제출 작업을 실행하도록 자체 호스팅 실행기를 구성할 수 있습니다.
- 리포지토리 또는 조직 수준에서 하나 이상의 자체 호스팅 실행기를 프로비저닝합니다. 자세한 내용은 "자체 호스트형 실행기 정보" 및 "자체 호스트형 실행기 추가" 항목을 참조하세요. 자체 호스팅 실행기는 Linux 또는 macOS에서 실행 중이어야 하며 Docker가 설치되어 있어야 합니다.
- 자동 종속성 제출을 사용할 각 실행기에
dependency-submission
레이블을 할당합니다. 자세한 내용은 "자체 호스트형 실행기로 레이블 사용"을(를) 참조하세요. - 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.
- "종속성 그래프"에서 "자동 종속성 제출" 옆의 드롭다운 메뉴를 클릭한 다음 레이블이 지정된 실행기에 사용을 선택합니다.
사용하도록 설정되면 다음을 수행하지 않는 한 자동 종속성 제출 작업이 자체 호스팅 실행기에서 실행됩니다.
- 자체 호스팅 실행기를 사용할 수 없습니다.
dependency-submission
레이블로 태그가 지정된 실행기 그룹이 없습니다.
Note
자체 호스팅 실행기를 사용하는 경우 종속성 제출 워크플로가 프라이빗 레지스트리에 연결할 수 있도록 Maven 서버 설정 파일에 대한 액세스를 추가해야 합니다. 프라이빗 레지스트리의 종속성은 다음 pom.xml
업데이트의 종속성 트리에 포함됩니다. Maven 서버 설정 파일에 대한 자세한 내용은 Maven 설명서의 보안 및 배포 설정을 참조하세요.
자동 종속성 제출을 위해 GitHub 호스팅 대형 러너 사용
GitHub Team 또는 GitHub Enterprise Cloud 사용자는 대형 러너을(를) 사용하여 자동 종속성 제출 작업을 실행할 수 있습니다.
dependency-submission
이름으로 조직 수준에서 대형 실행기를 프로비전합니다. 자세한 내용은 “조직에 더 큰 실행기 추가”를 참조하세요.- 실행기에 대한 리포지토리 액세스 권한을 부여합니다. 자세한 내용은 “리포지토리에서 더 큰 실행기에 액세스하도록 허용”을 참조하세요.
- "종속성 그래프"에서 "자동 종속성 제출" 옆의 드롭다운 메뉴를 클릭한 다음 레이블이 지정된 실행기에 사용을 선택합니다.
자동 종속성 제출 문제 해결
자동 종속성 제출은 현재 Maven에 대해서만 지원됩니다. 이 기능은 Maven 종속성 트리 제출 작업을 사용합니다. 자세한 내용은 GitHub Marketplace의 Maven 종속성 트리 종속성 제출 작업에 대한 설명서를 참조하세요. 프로젝트에서 비표준 Maven 구성을 사용하는 경우 종속성을 제대로 생성하고 종속성 그래프를 제출하지 못할 수 있습니다.
자동 종속성 제출은 캐시 작업을 사용하여 실행 간에 패키지 다운로드를 캐시하여 워크플로 속도를 높이기 위해 최선의 노력을 기울입니다. 자체 호스팅 실행기를 위해 자체 인프라 내에서 이 캐시를 관리할 수 있습니다. 이렇게 하려면 GH_DEPENDENCY_SUBMISSION_SKIP_CACHE
의 환경 변수를 true
로 설정하여 기본 제공 캐싱을 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 "변수에 정보 저장"을(를) 참조하세요.