# dependabot.yml 파일 정보

dependabot.yml 리포지토리에서 자동화된 종속성 업데이트를 제어합니다.

이 `dependabot.yml` 파일은 리포지토리에서 종속성(주로 Dependabot뿐만 아니라 *보안 업데이트*)을 모니터링하고 업데이트하는 방법을 \_\_ 세밀하게 제어할 수 있는 선택적 구성 파일입니다.

파일이 `dependabot.yml` 없더라도, 리포지토리 설정에서 Dependabot이 켜져 있는 경우에 Dependabot security updates은 취약한 종속성에 대한 보안 업데이트를 생성할 수 있습니다. 그러나 자동화된 버전 업데이트를 받거나 업데이트 일정 및 기타 구성 옵션을 제어할 수 없습니다.

이 파일은 `dependabot.yml` YAML 구문을 사용합니다. YAML을 처음 사용하거나 자세히 알아보고 싶다면, [5분 안에 YAML을 알아보는 방법](https://learnxinyminutes.com/yaml/)을 참고하세요.

> \[!NOTE]
> Dependabot alerts는 리포지토리 또는 조직의 '설정' 탭에서 구성되고, `dependabot.yml` 파일에서 구성되지 않습니다. [Dependabot 경고 구성](/ko/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-dependabot-alerts)을 참조하세요.

## 파일의 `dependabot.yml` 기능

`dependabot.yml` 파일은 Dependabot이 종속성에 대한 업데이트를 수행하는 방법을 제어합니다. 이 파일을 사용하면 다음을 수행할 수 있습니다.

### 버전 업데이트의 경우

* 자동화된 버전 업데이트 사용
* 모니터링할 패키지 에코시스템 및 디렉터리 지정
* 업데이트 일정 설정
* 끌어오기 요청 레이블, 담당자, 검토자 및 커밋 메시지 사용자 지정
* 업데이트하거나 무시할 종속성 제어
* 프라이빗 레지스트리에 대한 인증 구성

### 보안 업데이트의 경우

* 레이블, 담당자 및 검토자를 사용하여 보안 업데이트 끌어오기 요청 사용자 지정
* 보안 업데이트를 위한 대상 분기를 정의합니다.
* 프라이빗 레지스트리 인증 구성
* 열린 끌어오기 요청에 대한 제한 설정

## 파일을 저장할 `dependabot.yml` 위치

이 파일은 기본 브랜치(일반적으로 `.github`)인 `main` 디렉터리의 리포지토리에 `.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` 파일입니다.

```yaml copy
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
```

## 다음 단계

* Dependabot에서 사용하는 패키지를 자동으로 업데이트할 수 있도록 리포지토리 구성, [Dependabot 버전 업데이트 구성](/ko/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-version-updates) 참조