자동 PR로 오픈소스 종속성 업그레이드
Git 리포지토리를 가져온 후, Snyk은 취약점, 라이선스 및 종속성 상태 이슈를 스캔하여 이러한 리포지토리를 지속적으로 모니터링합니다. Snyk은 수정 권고를 제공할 뿐만 아니라 사용자의 구성 설정에 따라 풀 리퀘스트(PR)를 생성합니다.

지원되는 언어 및 SCM
Snyk은 npm, Yarn 및 Maven Central 리포지토리에 대해 다음 소스 제어 관리 도구(SCM)와 함께 자동 종속성 업그레이드 풀 리퀘스트 기능을 지원합니다: GitHub, GitHub Enterprise, GitHub Cloud App, Bitbucket Server, Bitbucket Cloud, Bitbucket Connect, GitLab 및 Azure Repos.
이 기능은 Snyk Broker와 함께 사용할 수도 있습니다. 이 기능을 사용하려면 Snyk Broker를 v1.4.55.0 이상으로 업그레이드해야 합니다. 자세한 내용은 Snyk Broker 클라이언트 업그레이드를 참조하십시오.
자동 종속성 (업그레이드) PR
자동 종속성 또는 업그레이드 PR은 다음과 같이 작동합니다.
조직 수준의 통합 설정 또는 프로젝트 설정에서 자동 종속성 업그레이드 풀 리퀘스트(Automatic dependency upgrade pull requests) 옵션이 활성화되어 있어야 합니다.
리포지토리를 가져오면 Snyk은 리포지토리를 스캔하고 스캔 결과를 제공합니다. 그런 다음 Snyk은 오픈 소스 프로젝트를 정기적으로 스캔하며 지속적으로 모니터링합니다. 재스캔 빈도는 프로젝트 설정에 구성된 일정에 따릅니다.
각 스캔에서 종속성의 새로운 버전이 식별되면 Snyk은 자동 업그레이드 PR을 생성합니다.
이미 열려 있는 다른 Snyk PR에서 업그레이드되거나 패치된 종속성에 대해서는 새로운 업그레이드 PR을 열지 않습니다. 이는 해당 이슈에 대해 열렸다가 업그레이드가 완료되기 전에 닫힌 PR에도 적용됩니다.
Snyk은 각 종속성에 대해 별도의 PR을 엽니다.
기본적으로 Snyk은 5개 이상의 Snyk PR이 열려 있는 프로젝트에 대해서는 업그레이드 PR을 생성하지 않습니다. 열려 있는 PR의 한도에 도달하면 새로운 PR이 생성되지 않습니다. 이 한도는 통합 또는 프로젝트 설정에서 1~10 사이로 설정할 수 있습니다. 이 한도는 업그레이드 PR에만 적용되지만 수정(Fix) PR 개수도 포함하여 계산합니다. 단, 수정 PR 자체는 이 한도에 의해 제한되지 않습니다.
기본적으로 Snyk은 패치(patch) 및 마이너(minor) 업그레이드만 권장합니다. 그러나 기능을 활성화하는 설정(Settings) 페이지에서 메이저(major) 버전 업그레이드에 대한 권장을 요청할 수 있습니다.
최신 버전의 패키지에 프로젝트에 아직 없는 취약점이 포함되어 있는 경우, Snyk은 업그레이드를 권장하지 않습니다.
Snyk은 릴리스된 지 21일 미만인 버전으로의 업그레이드를 권장하지 않습니다. 이는 기능적 버그가 포함되어 나중에 게시가 취소될 수 있는 버전이나, 계정 탈취 등의 보안 위협이 있는 계정에서 릴리스된 버전을 피하기 위함입니다.
자동 종속성 업그레이드 PR 옵션 활성화 방법
Snyk이 종속성 상태를 정기적으로 확인하고, 종속성 업그레이드를 권장하며, 전체 조직 또는 특정 프로젝트에 대해 업그레이드 PR을 자동으로 제출하도록 구성할 수 있습니다. 구성 후 Snyk은 스캔된 프로젝트에 대해 업그레이드가 가능해질 때마다 필요한 모든 종속성에 대해 자동으로 PR을 생성합니다.
기본적으로 프로젝트 설정은 조직 설정을 상속합니다. 그러나 조직 수준과 프로젝트 수준의 설정이 다른 경우 프로젝트 설정이 조직 설정을 재정의합니다.
자동 종속성 업그레이드 PR은 다음 SCM 통합에서만 사용할 수 있습니다: GitHub, GitHub Enterprise 및 Bitbucket Cloud.
전체 조직에 대해 자동 종속성 업그레이드 PR 옵션을 활성화하는 방법
조직 전체에 대해 자동 업그레이드 PR을 구성하려면 다음 단계를 따르십시오.
Snyk 웹 UI에서 해당 조직을 엽니다.
설정(Settings) > **조직 설정(Organization settings)**으로 이동합니다. 통합(Integrations) 사이드바에서 구성된 SCM을 찾아 클릭합니다.

선택한 통합의 설정(Settings) 페이지에서 자동 종속성 업그레이드 PR(Automatic dependency upgrade PRs) 섹션으로 이동합니다.
이 섹션에서 다음 작업을 수행합니다.
슬라이더 - **활성화(Enable)**로 변경합니다.
허용되는 최대 열린 업그레이드 PR 수(Maximum number of open upgrade PRs allowed) – 종속성 업그레이드 PR을 추가로 받기 위해 프로젝트가 가질 수 있는 열린 Snyk PR의 수를 정의합니다. 최대값은 10개입니다. 열린 PR의 한도에 도달하면 새로운 업그레이드 PR이 생성되지 않습니다.
업그레이드 권장에 메이저 버전 포함(Include major version in upgrade recommendation) – 업그레이드 권장에 메이저 버전 업그레이드를 포함할지 여부를 선택합니다. 기본적으로 패치 및 마이너 버전만 업그레이드 권장에 포함됩니다.
무시할 종속성(Dependencies to ignore) – 자동 업그레이드 작업에 포함하지 않아야 할 종속성의 정확한 이름을 입력합니다. 소문자만 입력할 수 있습니다.

변경 사항을 저장하고 적용하려면 저장(Save) 드롭다운에서 다음 중 하나를 선택합니다.
저장(Save) – 변경 사항이 저장되며, 조직 설정을 상속하도록 구성된 조직 내의 모든 프로젝트에 적용됩니다. 사용자 정의(Custom) 설정이 있는 프로젝트는 이 변경의 영향을 받지 않습니다.
변경 사항 저장 및 재정의된 모든 프로젝트에 적용(Save changes and apply to all overridden Projects) – 변경 사항이 저장되며 조직 내의 모든 프로젝트에 적용됩니다. 사용자 정의 설정이 있는 프로젝트도 이 조직 설정을 상속하게 되며 기존의 사용자 정의 설정은 재정의됩니다.
이제부터 Snyk이 조직 내의 프로젝트를 스캔할 때마다 업그레이드가 가능한 것이 발견되면 자동으로 업그레이드 PR을 제출합니다.
기존 Snyk 업그레이드 PR 또는 기존 수정 PR에 대해 더 새로운 버전이 출시된 경우, Snyk이 새로운 PR을 생성하기 전에 기존 PR을 닫거나 머지해야 합니다.
특정 프로젝트에 대해 자동 종속성 업그레이드 PR 옵션을 활성화하는 방법
프로젝트 수준의 설정은 조직 수준의 설정을 재정의합니다. 그러나 프로젝트 수준의 사용자 정의 이후에 조직 수준의 설정이 구성되고 재정의된 모든 프로젝트에 변경 사항 적용 옵션으로 저장된 경우 조직 수준의 설정이 프로젝트의 사용자 정의 설정을 재정의할 수 있습니다.
특정 프로젝트에 대해 자동 업그레이드 PR을 구성하려면 다음 단계를 따르십시오.
Snyk 웹 UI에서 구성하려는 프로젝트가 포함된 조직을 엽니다.
프로젝트 목록에서 자동 업그레이드 PR을 활성화하려는 프로젝트를 찾아 확장합니다.
프로젝트 행 끝에 있는 **프로젝트 설정(Project settings)**을 클릭합니다.
프로젝트 설정 페이지에서 사용 중인 통합을 선택합니다.

통합(Integration) 페이지에서 자동 종속성 업그레이드 풀 리퀘스트(Automatic dependency upgrade pull requests) 섹션으로 스크롤하여 다음 중 하나를 선택합니다.
통합 설정에서 상속(Inherit from Integration settings) – 조직의 통합 설정을 선택한 프로젝트에 적용합니다. 조직에 대해 자동 종속성 업그레이드 PR 옵션이 비활성화된 경우, 프로젝트에 대해서도 이 옵션이 비활성화됩니다.
이 프로젝트만 사용자 정의(Customize for only this Project) – 프로젝트에 자동 종속성 업그레이드 PR 옵션의 특정 설정을 적용합니다. 이 옵션을 선택하는 경우:
슬라이더를 **활성화됨(Enabled)**으로 변경합니다.
**업그레이드 권장에 메이저 버전 포함(Include major version in upgrade recommendation)**에서 메이저 버전 업그레이드를 권장에 포함할지 여부를 정의하기 위해 사용 가능한 옵션 중 하나를 선택합니다. 기본적으로 패치 및 마이너 버전만 업그레이드 권장에 포함됩니다.
**동시에 열 수 있는 종속성 업그레이드 PR 수 제한(Limit Snyk to this many dependency upgrade PRs open simultaneously)**에서 종속성 업그레이드 PR을 추가로 받기 위해 프로젝트가 가질 수 있는 열린 Snyk PR의 수를 정의합니다. 1에서 10 사이의 숫자를 설정할 수 있습니다. 열린 PR의 한도에 도달하면 새로운 업그레이드 PR이 생성되지 않습니다. 기본적으로 종속성 업그레이드 PR을 추가로 받기 위해 프로젝트는 _최대 4개_의 열린 PR을 가질 수 있습니다.
**무시할 종속성(Dependencies to ignore)**에 자동 업그레이드 작업에서 제외할 종속성의 정확한 이름을 입력합니다. 소문자만 입력할 수 있습니다.
**종속성 업그레이드 설정 업데이트(Update dependency upgrade settings)**를 클릭하여 변경 사항을 저장합니다.

이 단계를 완료하면 Snyk은 프로젝트를 스캔하고 업그레이드가 가능한 것이 발견되면 자동으로 업그레이드 PR을 제출합니다. 기존 Snyk 업그레이드 PR 또는 기존 수정 PR에 대해 더 새로운 버전이 출시된 경우, Snyk이 새로운 PR을 생성하기 전에 기존 PR을 닫거나 머지해야 합니다.
Last updated