이 dependabot.yml 파일은 리포지토리에서 종속성(주로 Dependabot뿐만 아니라 보안 업데이트)을 모니터링하고 업데이트하는 방법을 __ 세밀하게 제어할 수 있는 선택적 구성 파일입니다.
파일이 dependabot.yml 없더라도, 리포지토리 설정에서 Dependabot이 켜져 있는 경우에 Dependabot security updates은 취약한 종속성에 대한 보안 업데이트를 생성할 수 있습니다. 그러나 자동화된 버전 업데이트를 받거나 업데이트 일정 및 기타 구성 옵션을 제어할 수 없습니다.
이 파일은 dependabot.yml YAML 구문을 사용합니다. YAML을 처음 사용하거나 자세히 알아보고 싶다면, 5분 안에 YAML을 알아보는 방법을 참고하세요.
참고
Dependabot alerts는 리포지토리 또는 조직의 '설정' 탭에서 구성되고, dependabot.yml 파일에서 구성되지 않습니다. Dependabot 경고 구성을 참조하세요.
파일의 dependabot.yml 기능
`dependabot.yml` 파일은 Dependabot이 종속성에 대한 업데이트를 수행하는 방법을 제어합니다. 이 파일을 사용하면 다음을 수행할 수 있습니다.
버전 업데이트의 경우
- 자동화된 버전 업데이트 사용
- 모니터링할 패키지 에코시스템 및 디렉터리 지정
- 업데이트 일정 설정
- 끌어오기 요청 레이블, 담당자, 검토자 및 커밋 메시지 사용자 지정
- 업데이트하거나 무시할 종속성 제어
- 프라이빗 레지스트리에 대한 인증 구성
보안 업데이트의 경우
- 레이블, 담당자 및 검토자를 사용하여 보안 업데이트 끌어오기 요청 사용자 지정
- 보안 업데이트를 위한 대상 분기를 정의합니다.
- 프라이빗 레지스트리 인증 구성
- 열린 끌어오기 요청에 대한 제한 설정
파일을 저장할 dependabot.yml 위치
이 파일은 기본 브랜치(일반적으로 main)인 .github 디렉터리의 리포지토리에 .github/dependabot.yml 또는 .github/dependabot.yaml에 저장되어야 합니다.
dependabot.yml 파일이 작동하는 방식
리포지토리 dependabot.yml 에서 파일을 추가하거나 업데이트 Dependabot 할 때 구성을 읽고 정의된 일정에 따라 지정된 패키지 에코시스템 모니터링을 시작합니다. 사용 가능한 업데이트를 찾으면 Dependabot 구성에서 지정한 사용자 지정 규칙에 따라 종속성 변경으로 끌어오기 요청을 만듭니다.
구성 파일에는 모니터링할 각 패키지 에코시스템에 대해 다음 키가 필요합니다.
-
** `version` **: Dependabot 구성 구문 버전을 지정하는 최상위 필드입니다. -
** `updates` **: 업데이트를 모니터링할 각 패키지 에코시스템을 정의하는 최상위 섹션입니다. -
** `package-ecosystem` **: 아래에 `updates`정의되며, 업데이트할 패키지 관리자(예: npm, pip 또는 Docker)를 지정합니다. -
** `directories` 또는 `directory`**: 각 `package-ecosystem` 항목에 정의되어 매니페스트 또는 종속성 정의 파일의 위치를 지정합니다. -
** `schedule.interval` **: 각 `package-ecosystem` 항목에 정의되며 버전 업데이트(`daily`또는`weekly``monthly`)를 확인하는 빈도를 설정합니다.
기본 예제
다음은 매일 npm 종속성을 모니터링하는 최소 dependabot.yml 파일입니다.
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
다음 단계
- Dependabot에서 사용하는 패키지를 자동으로 업데이트할 수 있도록 리포지토리 구성, Dependabot 버전 업데이트 구성 참조