Snyk과 Jenkins 플러그인 통합
Snyk은 Snyk CLI를 기반으로 하는 Jenkins용 기본 플러그인을 제공하여 파이프라인에서 취약점을 테스트하고 모니터링합니다.
Snyk Jenkins 플러그인은 Snyk 오픈소스를 지원합니다. 파이프라인에 Snyk Code, Snyk Container 및 Snyk IaC 스캔을 포함할 계획이라면 일반 Snyk CLI를 사용하십시오.
자세한 내용은 Snyk Jenkins 플러그인 리포지토리를 참조하십시오.
Snyk Jenkins 플러그인을 사용하려면 이 문서의 각 섹션의 단계를 따르십시오.
Snyk 보안 Jenkins 플러그인 설치
Jenkins 대시보드에서 Jenkins 관리, 플러그인 > 사용 가능한 플러그인 탭으로 이동합니다.
Snyk Security를 검색합니다.
플러그인을 설치합니다.
Snyk 설치 구성
Jenkins 관리 > 도구로 이동합니다.
Snyk 설치를 추가합니다.
설치를 구성합니다.
빌드 단계를 구성할 때 사용할 이름을 기억하십시오.
자동 설치
플러그인은 Snyk 바이너리의 최신 버전을 다운로드하고 최신 상태로 유지할 수 있습니다.

수동 설치
다음 바이너리를 다운로드합니다. 에이전트의 운영 체제에 적합한 바이너리를 선택하십시오.
에이전트의 단일 디렉토리에 바이너리를 배치합니다.
바이너리 파일 이름을 변경하지 마십시오.
바이너리를 실행할 올바른 권한이 있는지 확인하십시오.
설치 디렉토리 아래에 디렉토리의 절대 경로를 제공합니다.

사용자 지정 API 엔드포인트
https://api.snyk.io 엔드포인트를 사용하는 SNYK-US-01 이외의 지역에 있는 경우 SNYK_API 환경 변수를 변경하여 Snyk이 다른 엔드포인트를 사용하도록 구성하십시오.
Jenkins 관리 > 시스템으로 이동합니다.
전역 속성 아래에서 환경 변수 옵션을 선택합니다.
추가를 클릭합니다.
이름을
SNYK_API로 설정하고 값을 사용자 지정 엔드포인트로 설정합니다.
자세한 내용은 Snyk API에 연결하도록 Snyk CLI 구성을 참조하십시오.
Snyk PAT 또는 API 토큰 자격 증명 구성
Snyk API 토큰 또는 Snyk PAT를 가져옵니다.
Jenkins 관리 > 자격 증명으로 이동합니다.
저장소를 선택합니다.
도메인을 선택합니다.
자격 증명 추가로 이동합니다.
Snyk API 토큰을 선택합니다.
자격 증명을 구성합니다.
빌드 단계를 구성할 때 사용할 ID를 기억하십시오.

프로젝트에 Snyk 보안 추가
이 단계는 Freestyle 프로젝트를 사용하는지 또는 파이프라인 프로젝트를 사용하는지에 따라 다릅니다.
Freestyle 프로젝트
프로젝트를 선택합니다.
구성으로 이동합니다.
빌드 아래에서 빌드 단계 추가 및 Snyk 보안 작업 호출을 선택합니다.
필요에 따라 구성합니다. 각 옵션에 대한 자세한 내용은 ? 아이콘을 클릭하십시오.

파이프라인 프로젝트
파이프라인 스크립트의 일부로 snykSecurity 단계를 사용하십시오. 스니펫 생성기를 사용하여 웹 양식에서 코드를 생성하고 파이프라인으로 복사할 수 있습니다. 다음 예제를 참조하십시오.
snykSecurity 단계에 다음 매개변수를 전달할 수 있습니다.
snykInstallation (필수)
Snyk 설치 구성에서 구성된 Snyk 설치 이름입니다.
snykTokenId (선택 사항, 기본값: _none_)
Snyk API 토큰 자격 증명 구성에서 구성된 Snyk API 토큰 자격 증명 ID입니다.
Snyk API 토큰을 대체 자격 증명 바인딩과 같은 다른 방법으로 제공하려면 SNYK_TOKEN 빌드 환경 변수를 제공해야 합니다.
failOnIssues (선택 사항, 기본값: true)
문제 및 취약점이 발견될 경우 단계를 실패시킬지 여부입니다.
failOnError (선택 사항, 기본값: true)
오류로 인해 Snyk이 프로젝트를 스캔하지 못할 경우 단계를 실패시킬지 여부입니다. 오류에는 Snyk 바이너리 다운로드 실패, 부적절한 Jenkins 설정, 잘못된 구성 및 서버 오류와 같은 시나리오가 포함됩니다.
monitorProjectOnBuild (선택 사항, 기본값: _none_)
snyk.io에서 현재 종속성 스냅샷을 찍어 빌드할 때마다 프로젝트를 모니터링할지 여부입니다. 이 옵션을 선택하면 프로젝트에서 새로 공개된 취약점 및 해결 옵션에 대한 알림을 계속 받을 수 있습니다.
organisation (선택 사항, 기본값: _automatic_)
이 프로젝트를 테스트하고 모니터링해야 하는 Snyk 조직입니다. 기본 동작에 대한 자세한 내용은 CLI 명령 및 옵션 요약의 --org를 참조하십시오.
projectName (선택 사항, 기본값: _automatic_)
매 빌드마다 이 Jenkins 프로젝트에 대해 생성된 Snyk 프로젝트의 사용자 지정 이름입니다. 기본 동작에 대한 자세한 내용은 CLI 명령 및 옵션 요약의 --project-name을 참조하십시오.
targetFile (선택 사항, 기본값: _automatic_)
Snyk에서 사용할 매니페스트 파일의 경로입니다. 기본 동작에 대한 자세한 내용은 CLI 명령 및 옵션 요약의 --file을 참조하십시오.
severity (선택 사항, 기본값: _automatic_)
감지할 최소 심각도입니다. 다음 중 하나일 수 있습니다. low, medium, high, critical. 기본 동작에 대한 자세한 내용은 CLI 명령 및 옵션 요약의 --severity-threshold를 참조하십시오.
additionalArguments (선택 사항, 기본값: _none_)
추가 CLI 옵션에 대한 정보는 CLI 명령 및 옵션 요약을 참조하십시오.
Snyk 보안 보고서 보기
프로젝트의 새 빌드를 완료합니다.
빌드 페이지로 이동합니다.
결과를 보려면 사이드바에서 Snyk 보안 보고서를 선택합니다.

오류가 발생하면 보고서가 표시되지 않을 수 있습니다. 다음 문제 해결 섹션을 참조하십시오.
Jenkins 플러그인 문제 해결
로깅 증가
단계에 대한 자세한 정보를 보려면 로깅을 늘리고 단계를 다시 실행하십시오.
특정 빌드에 대한 콘솔 출력을 봅니다.
모든
io.snyk.jenkins로그를 캡처하기 위한 로거를 추가합니다. Jenkins에서 문제 해결 및 진단 정보를 위한 로거를 만드는 방법은 무엇입니까?를 참조하십시오.모든 Snyk CLI 로그를 캡처하려면 추가 인수에
--debug를 추가하십시오. 디버그 출력은 빌드의 콘솔 출력 아래에서 확인할 수 있습니다.
설치 실패
기본적으로 Snyk 설치는 downloads.snyk.io에서 네트워크를 통해 Snyk 바이너리를 다운로드하고 static.snyk.io를 대체로 사용합니다. 이 작업이 실패하면 네트워크 또는 프록시 문제가 있을 수 있습니다. 문제를 해결할 수 없는 경우 수동 설치를 수행할 수 있습니다. Snyk 설치 구성을 참조하십시오.
Last updated