Skip to main content

GitHub Actions 실행기의 Dependabot 정보

GitHub Actions에서 Dependabot을(를) 실행하면 성능이 향상되고 Dependabot 작업의 가시성과 제어가 향상됩니다.

누가 이 기능을 사용할 수 있나요?

Organization owners and repository administrators can enable Dependabot on GitHub Actions.

Note

GitHub Actions에서 Dependabot을(를) 실행하려면 옵트인해야 합니다. GitHub의 향후 릴리스에서는 GitHub Actions에서 Dependabot을(를) 옵트인하고 항상 실행할 수 있는 기능이 제거됩니다. 자세한 정보는 "GitHub Actions 실행기의 Dependabot 정보"을(를) 참조하세요.

GitHub Actions 실행기의 Dependabot 정보

새 리포지토리에서 Dependabot을(를) 사용하도록 설정하고 GitHub Actions을(를) 사용하도록 설정한 경우 Dependabot은(는) 기본적으로 GitHub Actions에서 실행됩니다.

새 리포지토리에서 Dependabot을(를) 사용하도록 설정하고 GitHub Actions을(를) 사용하지 않도록 설정한 경우, Dependabot은(는) Dependabot updates을 수행하기 위해 GitHub에 있는 레거시 애플리케이션에서 실행됩니다. 이렇게 하면 GitHub Actions와 같이 Dependabot updates 작업의 성능, 가시성 또는 제어가 향상되지 않습니다. GitHub Actions와 함께 Dependabot을(를) 사용하려면 리포지토리에서 GitHub Actions을(를) 사용하도록 설정한 다음, 리포지토리의 "코드 보안 및 분석" 설정 페이지에서 "Dependabot on Actions runners"를 사용하도록 설정해야 합니다.

GitHub Actions 실행기를 사용하면 Dependabot 작업 오류를 보다 쉽게 식별하고 실패한 실행을 수동으로 검색하며 문제를 해결할 수 있습니다. GitHub Actions API 및 웹후크를 통해 Dependabot을(를) CI/CD 파이프라인에 통합하여 실행 실패와 같은 Dependabot 작업 상태를 검색하고 다운스트림 처리를 수행할 수도 있습니다. 자세한 내용은 "GitHub Actions에 대한 REST API 엔드포인트" 및 "웹후크 이벤트 및 페이로드"을(를) 참조하세요.

GitHub Actions에서 Dependabot를 실행할 수 있습니다.

  • GitHub 호스팅 실행기
  • 대형 실행기. 이 실행기는 GitHub에서 호스팅되며 더 많은 RAM과 CPU, 디스크 공간과 같은 고급 기능이 있습니다. 자세한 내용은 "대규모 실행기 정보"을(를) 참조하세요.
  • 자체 호스팅 실행기

Azure Virtual Network(VNET) 또는 Actions Runner Controller(ARC)와 함께 프라이빗 네트워킹을 사용하는 것은 지원되지 않습니다.

Tip

GitHub 호스트형 및 자체 호스트형 실행기에서 Dependabot을(를) 실행하는 것은 포함된 GitHub Actions 시간(분)에 계산되지 않습니다. 자세한 내용은 "About billing for GitHub Actions"을(를) 참조하세요.

GitHub Actions에서 Dependabot을(를) 사용하도록 설정하면 계정에서 실행되는 동시 작업 수가 증가할 수 있습니다. 필요한 경우 엔터프라이즈 플랜의 고객은 동시 작업에 대해 더 높은 한도를 요청할 수 있습니다. 자세한 내용은 GitHub 지원 포털을(를) 통해 저희에게 문의하거나 영업 담당자에게 문의하세요.

GitHub Actions 실행기에서 Dependabot 사용으로 전환하고 조직의 개인 리소스 또는 리포지토리의 개인 리소스에 대한 액세스를 제한하는 경우 허용된 IP 주소 목록을 업데이트해야 할 수 있습니다. 예를 들어 현재 개인 리소스에 대한 액세스를 Dependabot에서 사용하는 IP 주소로 제한하는 경우 메타 API 엔드포인트에서 제공하는 GitHub 호스트형 실행기 IP 주소를 사용하도록 허용 목록을 업데이트해야 합니다. 자세한 내용은 "메타 데이터에 대한 REST API 엔드포인트"을(를) 참조하세요.

GitHub에서 호스팅하는 실행기에서 Dependabot 사용 또는 사용 안 함

이 섹션은 표준 GitHub에서 호스팅되는 실행기에만 적용되며 더 큰 실행기는 적용되지 않습니다.

사용자 계정 또는 조직에서 만든 새 리포지토리는 다음 중 어느 것이라도 해당하는 경우 GitHub Actions에서 Dependabot을(를) 실행하도록 자동으로 구성됩니다.

  • Dependabot이(가) 설치되고 사용하도록 설정되었으며 GitHub Actions이(가) 사용하도록 설정되고 사용 중입니다.
  • 조직에 대한 "GitHub Actions 실행기의 Dependabot" 설정이 사용하도록 설정되었습니다.

기존 리포지토리의 경우 다음과 같이 GitHub Actions에서 Dependabot을(를) 실행하도록 옵트인할 수 있습니다.

GitHub의 향후 릴리스에서는 GitHub Actions에서 Dependabot을(를) 실행하지 않도록 설정하는 기능이 제거됩니다.

조직 또는 리포지토리의 개인 리소스에 대한 액세스를 제한하는 경우 GitHub Actions 실행기에서 Dependabot을(를) 사용하도록 설정하기 전에 허용된 IP 주소 목록을 업데이트해야 할 수 있습니다. 메타 REST API 엔드포인트에서 제공하는 GitHub 호스트형 실행기 IP 주소(Dependabot IP 주소 대신)를 사용하도록 IP 허용 목록을 업데이트할 수 있습니다.

Warning

개인 레지스트리에 대한 인증을 위해 GitHub Actions IP 주소를 사용해서는 안 됩니다. 이러한 GitHub Actions 주소는 GitHub에서만 사용되는 것이 아니며 인증에 대해 신뢰할 수 없습니다. 대신 자체 호스트형 실행기를 사용하면 네트워크 액세스를 더욱 효과적으로 제어할 수 있습니다. 자세한 내용은 "자체 호스팅 실행기에서 Dependabot 관리"을(를) 참조하세요.

“GitHub Actions 실행기에서 Dependabot" 설정을 사용하지 않도록 설정하고 다시 사용하도록 설정해도 새 Dependabot 실행이 트리거되지는 않습니다.

리포지토리 사용 또는 사용 안 함

공용 또는 프라이빗 리포지토리의 GitHub Actions에서 Dependabot을(를) 관리할 수 있습니다.

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭이 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. 사이드바의 "보안" 섹션에서 코드 보안 및 분석을 클릭합니다.

  4. "Dependabot"의 “작업 실행기에 대한 Dependabot” 오른쪽에 있는 사용을 클릭하여 기능을 활성화하거나 사용 안 함을 클릭하여 비활성화합니다.

조직에 사용 또는 사용 안 함으로 설정

조직의 모든 기존 리포지토리에 대해 GitHub Actions의 Dependabot을(를) 사용하도록 설정할 수 있습니다.

다음 구성이 포함된 리포지토리만 다음번에 Dependabot 작업이 트리거될 때 GitHub Actions에서 Dependabot을(를) 실행하도록 업데이트됩니다.

  • 리포지토리에서 Dependabot이(가) 사용하도록 설정되었습니다.
  • 리포지토리에서 GitHub Actions이(가) 사용하도록 설정되었습니다.

조직의 리포지토리에서 Dependabot을(를) 사용하도록 설정했지만 GitHub Actions을(를) 사용하지 않도록 설정한 경우 Dependabot은(는) GitHub Actions에서 실행되지 않지만 기본 제공 Dependabot 애플리케이션을 사용하여 계속 실행됩니다.

  1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 선택하고 조직을 클릭합니다.
  2. 조직 옆에 있는 설정을 클릭합니다.
  3. 사이드바의 “보안” 섹션에서 코드 보안을 클릭한 후 글로벌 설정을 클릭합니다.
  4. 'Dependabot'에서 '작업 실행기의 Dependabot'를 선택하여 기능을 활성화하거나 선택을 취소하여 비활성화합니다.

자세한 내용은 "조직에 대한 글로벌 보안 설정 구성"을(를) 참조하세요.

대형 러너에서 Dependabot 사용 또는 사용 안 함

Dependabot 시간 제한 및 메모리 부족 오류가 발생하면 대형 러너를 사용하여 더 많은 리소스를 사용하도록 실행기를 구성할 수 있습니다.

Note

_조직 수준_에서 Dependabot에 대해서만 대형 러너를 사용하도록 설정할 수 있습니다. GitHub는 일반 Actions 실행기 가격 책정으로 조직에 요금을 청구합니다. 자세한 내용은 "About billing for GitHub Actions"을(를) 참조하세요.

  1. 더 큰 실행기을(를) 조직에 추가하고 지정된 이름이 dependabot인지 확인합니다. 자세한 내용은 "대형 실행기 관리하기"를 참조하세요.
  2. 조직을 자체 호스팅 실행기에 옵트인합니다. 자세한 내용은 "자체 호스팅 실행기에서 Dependabot 관리"을(를) 참조하세요. 이 단계는 dependabot 이름이 있는 더 큰 GitHub 호스팅 실행기에서 향후 Dependabot 작업이 실행되도록 보장하기 때문에 필요합니다.

GitHub Actions 실행기의 Dependabot 관리

GitHub Actions 작업의 Dependabot이(가) 실행되면 Dependabot 작업 로그에서 직접 워크플로 실행 기록을 검토할 수 있습니다. 자세한 내용은 "Dependabot 작업 로그 보기"을(를) 참조하세요.

리포지토리의 작업 탭에서 실행되는 Dependabot 워크플로로 이동할 수도 있습니다. 자세한 내용은 "워크플로 실행 기록 보기"을(를) 참조하세요.

Dependabot version updates 또는 Dependabot security updates 작업을 다시 실행하려면 아래의 적절한 절차를 사용합니다. 다른 GitHub Actions 워크플로 및 작업의 경우와 마찬가지로 Dependabot에서 작업을 다시 실행할 수 없습니다. 즉, 리포지토리의 작업 탭을 사용하여 다시 실행할 수 없습니다. 조직의 GitHub Actions 사용 현황 메트릭에서 Dependabot updates 워크플로 및 작업에 대한 사용량 현황 데이터는 볼 수 없습니다.

Dependabot version updates 작업 다시 실행

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 인사이트를 클릭합니다.

    리포지토리의 기본 페이지 스크린샷. 수평 탐색 모음에서 그래프 아이콘과 "인사이트" 레이블이 있는 탭이 진한 주황색으로 표시됩니다.

  3. 왼쪽 사이드바에서 종속성 그래프를 클릭합니다.

    "종속성 그래프" 탭의 스크린샷. 탭이 주황색 윤곽선으로 강조 표시됩니다.

  4. “종속성 그래프”에서 Dependabot 을 클릭합니다.

  5. 관심 있는 매니페스트 파일 이름 오른쪽에서 최근 업데이트 작업을 클릭합니다.

  6. 영향을 받는 매니페스트 파일의 오른쪽에서 업데이트 확인을 클릭하여 Dependabot version updates 작업을 다시 실행하고 해당 에코시스템의 종속성에 대한 새 업데이트를 확인합니다.

Dependabot security updates 작업 다시 실행

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.
  2. 리포지토리 이름 아래에서 보안을 클릭합니다.
  3. 왼쪽 사이드바의 "취약성 경고"에서 Dependabot 을(를) 클릭합니다.
  4. "Dependabot" 아래에서 보려는 경고를 클릭합니다.
  5. 경고에 대한 오류 세부 정보가 표시된 섹션에서 다시 시도를 클릭하여 Dependabot security updates 작업을 다시 실행합니다.

Dependabot이 기존 워크플로를 트리거할 때 발생하는 오류 문제 해결

GitHub.com에서 Dependabot 업데이트를 설정한 후 Dependabot 이벤트로 기존 워크플로가 트리거될 때 오류가 표시될 수 있습니다.

기본적으로 Dependabot의 push, pull_request, pull_request_review 또는 pull_request_review_comment 이벤트에서 트리거된 GitHub Actions 워크플로 실행은 리포지토리 포크에서 열린 것처럼 처리됩니다. 이 경우 다른 작업자에서 트리거된 워크플로와 달리, 읽기 전용 GITHUB_TOKEN을 받게 되며 일반적으로 사용할 수 있는 비밀에 액세스할 수 없습니다. 따라서 리포지토리에 쓰려는 워크플로가 Dependabot에서 트리거된 경우 실패합니다.

문제를 해결하는 방법에는 다음 세 가지가 있습니다.

  1. if: github.actor != 'dependabot[bot]'과 같은 식을 사용하여 더 이상 Dependabot에서 트리거되지 않도록 워크플로를 업데이트할 수 있습니다. 자세한 내용은 "Evaluate expressions in workflows and actions"을(를) 참조하세요.
  2. pull_request_target이 포함되어 이 제한 사항이 없는 2단계 프로세스를 사용하도록 워크플로를 수정할 수 있습니다. 자세한 내용은 "GitHub Actions를 통한 Dependabot 자동화"을(를) 참조하세요.
  3. 비밀에 대한 Dependabot 액세스로 트리거되는 워크플로를 제공하고 permissions 용어가 GITHUB_TOKEN의 기본 범위를 늘리도록 허용할 수 있습니다. 자세한 내용은 "GitHub Actions를 통한 Dependabot 자동화" 및 "GitHub Actions에 대한 워크플로 구문" 섹션을 참조하세요.