선택적 구성 파일인 이 dependabot.yml 파일은 Dependabot이 리포지토리 내의 종속성(_버전 업데이트_뿐만 아니라 _보안 업데이트_도 포함)을 모니터링하고 업데이트하는 과정을 세밀하게 제어할 수 있도록 합니다.
`dependabot.yml` 파일 없이도, 리포지토리 설정에서 Dependabot security updates을(를) 활성화한 경우, Dependabot은(는) 취약한 종속성에 대한 보안 업데이트를 생성할 수 있습니다. 그러나 자동화된 버전 업데이트를 받거나 업데이트 일정 및 기타 구성 옵션을 제어할 수 없습니다.
이 파일은 dependabot.yml YAML 구문을 사용합니다. YAML을 처음 사용하거나 자세히 알아보고 싶다면, 5분 안에 YAML을 알아보는 방법을 참고하세요.
참고 항목
Dependabot alerts는 구성 dependabot.yml 파일이 아닌 리포지토리 또는 조직의 ‘설정’ 탭에서 구성합니다. Dependabot 경고 구성을(를) 참조하세요.
파일의 dependabot.yml 기능
dependabot.yml 이 파일은 Dependabot이 종속성을 업데이트하는 방식을 제어합니다. 이 파일을 사용하면 다음을 수행할 수 있습니다.
버전 업데이트의 경우
- 자동화된 버전 업데이트 사용
- 모니터링할 패키지 에코시스템 및 디렉터리 지정
- 업데이트 일정 설정
- 끌어오기 요청 레이블, 담당자, 검토자 및 커밋 메시지 사용자 지정
- 업데이트하거나 무시할 종속성 제어
- 프라이빗 레지스트리에 대한 인증 구성
보안 업데이트의 경우
- 레이블, 담당자 및 검토자를 사용하여 보안 업데이트 끌어오기 요청 사용자 지정
- 보안 업데이트를 위한 대상 분기를 정의합니다.
- 프라이빗 레지스트리 인증 구성
- 열린 끌어오기 요청에 대한 제한 설정
파일을 저장할 dependabot.yml 위치
이 파일은 .github 기본 분기의 리포지토리 (주로 main) 디렉터리에 저장해야 합니다. 경로는 다음과 .github/dependabot.yml같습니다.
`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 버전 업데이트 구성 참조