CI/CD 채택 및 배포

Snyk 통합 사용을 결정할 때 소스 제어 관리(SCM) 통합과 CI/CD 통합의 장점을 비교하십시오.

CI/CD 통합 채택의 일반적인 단계

개발자 팀은 일반적으로 다음 단계로 Snyk을 채택합니다(예시 명령은 Snyk 오픈소스).

  1. 취약점 노출 (snyk monitor)

  2. 지속적인 모니터링 (snyk testsnyk monitor)

1단계: 취약점 노출 (snyk monitor)

일반적인 접근 방식은 개발 프로세스 중에 Snyk 결과를 사용하여 취약점을 노출하는 것입니다. 이렇게 하면 팀 구성원 간에 취약점에 대한 가시성이 높아집니다.

파이프라인에 Snyk을 처음 구현할 때 Snyk은 snyk monitor 명령만 사용할 것을 권장합니다. Snyk CI 플러그인 중 하나를 사용하는 경우 Snyk은 플러그인을 빌드를 실패시키지 않도록 구성할 것을 권장합니다.

이는 모든 프로젝트에 취약점이 있기 때문이며, Snyk이 빌드를 실패시키도록 설정하면 Snyk 때문에 모든 빌드가 실패합니다. 이로 인해 팀이 실패 메시지로 빠르게 압도되는 문제가 발생할 수 있습니다.

snyk monitor를 사용하여 결과를 노출하면 프로세스를 방해하지 않고 정보를 제공합니다.

snyk monitor에 대한 정보는 monitor 명령 도움말을 참조하십시오.

2단계: 게이트키퍼로 Snyk 사용 (snyk test)

게이트키퍼로 Snyk을 사용하면 새로운 취약점 도입을 방지합니다("피 흘림 중단"이라고도 함).

팀이 애플리케이션의 취약점을 이해하고 개발 주기 초기에 이를 수정하는 프로세스를 개발한 후에는 Snyk이 빌드를 실패시켜 애플리케이션에 취약점을 도입하는 것을 방지하도록 구성할 수 있습니다.

빌드에 snyk test를 추가하거나 실패 기능을 활성화하여 Snyk이 빌드를 실패시키도록 하고 결과를 콘솔에 출력하도록 합니다. 개발자 또는 DevOps 팀은 결과를 사용하여 빌드를 중지할지 또는 계속할지 결정할 수 있습니다.

snyk test에 대한 정보는 test 명령 도움말을 참조하십시오.

3단계: 지속적인 모니터링 (snyk testsnyk monitor)

취약점이 감지될 때 Snyk이 빌드를 실패시키도록 구성한 후에는 지속적인 모니터링을 위해 프로젝트의 성공적인 빌드 스냅샷을 Snyk에 보내도록 Snyk을 구성할 수 있습니다.

이렇게 하려면 snyk test가 성공적인 종료 코드를 반환하는 경우 파이프라인이 snyk monitor를 실행하도록 구성하십시오.

CI/CD 배포 방법

circle-info

모든 이러한 방법은 모두 동일한 Snyk 엔진에 의존하므로 동일한 결과를 제공합니다. 따라서 선택한 배포 방법과 관계없이 동일한 인수 또는 옵션이 적용됩니다.

파이프라인 내에서 Snyk을 구성하는 다양한 방법이 있습니다. 환경 및 기본 설정에 따라 방법을 선택하십시오. 모든 방법이 성공적인 실행으로 이어질 것으로 예상할 수 있습니다.

Snyk 기본 플러그인 사용

Snyk 기본 플러그인은 가장 일반적인 CI/CD 도구에서 사용할 수 있습니다. 이러한 플러그인을 사용하여 설정하고 시작할 수 있습니다. 플러그인에는 사용자 인터페이스에서 가장 일반적인 매개변수 및 옵션이 포함되어 있습니다.

npm 메서드를 사용하여 Snyk CLI 배포

로컬에서 CLI를 설치하는 단계와 유사한 단계를 따르십시오. 파이프라인 스크립트에서 npm 명령을 실행할 수 있어야 합니다. 이 방법은 CLI 경험과 완벽하게 일치하여 문제 해결 및 구성이 쉽다는 장점이 있습니다.

Snyk CLI 바이너리 버전 배포

바이너리 설정의 장점은 로컬 환경과의 종속성이 없다는 것입니다. 예를 들어 파이프라인에서 npm 명령을 실행할 수 없는 경우 바이너리 설정이 유용합니다.

CLI 바이너리는 CLI GitHub 리포지토리arrow-up-right에서 사용할 수 있습니다.

Snyk은 Linux, Windows 및 기타 버전을 제공합니다.

Snyk 컨테이너 배포

Docker Hubarrow-up-right에서 Snyk 이미지 중 하나를 사용하여 파이프라인에 Snyk을 배포할 수도 있습니다.

Snyk CI/CD 통합 예시

이 리포지토리에는 다양한 CI/CD 도구에 대한 바이너리 및 npm 통합의 몇 가지 예시가 나와 있습니다. CI/CD 예제arrow-up-right.

Last updated