...
GitLab CI / CD를 사용할때 License Compliance를 사용하여 라이센스에 대한 프로젝트 종속성을 검색 할 수 있습니다.
기존 파일에기존 파일
.gitlab-ci.yml
작업 포함 에 포함 시키거나 Auto DevOps에서 제공하는 DevOps에서 제공하는 자동 라이센스 준수 를 사용하여 라이센스 준수 를 활용할 를 사용하여 License Compliance를 활용할 수 있습니다 있습니다.GitLab은 라이센스 준수 License Compliance 보고서를 확인하고 소스와 대상 분기 간의 라이센스를 비교하고 병합 요청에 대한 정보를 바로 보여줍니다. 거부 된 라이센스는
x
표시와 빨간색 아이콘과 함께 사용자의 결정이 필요한 새 라이센스 로 라이센스로 명확하게 표시됩니다.프로젝트 설정에서 라이센스를 수동으로 허용하거나 거부할 수 있습니다 .
.gitlab-ci.yml
에서license_scanning
작업을 추가할 때 라이센스 준수 보고서와 비교할 내용이없는 경우 병합 요청 영역에 정보가 표시되지 않습니다.연속적인 병합 요청에는 비교할 내용이 있으며 라이센스 준수 보고서가 올바르게 표시됩니다.
프로젝트 또는 그룹 관리자 인 경우 라이센스를 클릭하여 라이센스를 허용하거나 거부 할 수 있습니다.
아래와 같이 Approve license 버튼 (허용)과 Blacklist license 버튼 (거부)
...
1. 지원되는 언어 및 패키지 관리자
Language | Package managers | Scan Tool |
---|---|---|
JavaScript | ||
Go | Godep, go get (experimental support), gvt (experimental support), glide (experimental support), dep (experimental support), trash (experimental support) and govendor (experimental support), go mod (experimental support) | |
Java | ||
.NET | Nuget (.NET Framework is supported via the mono project. Windows specific dependencies are not supported at this time.) | |
Python | pip (Python is supported through requirements.txt and Pipfile.lock.) | |
Ruby | ||
Erlang | ||
Objective-C, Swift | ||
Elixir | ||
C++/C | ||
Scala | ||
Rust | ||
PHP |
...
Code Block |
---|
include: - template: License-Scanning.gitlab-ci.yml license_scanning: variables: CI_DEBUG_TRACE: "true" |
5. 오프라인 환경에서 라이센스 준수 실행
registry.gitlab.com/gitlab-org/security-products/license-management:latest
로컬 Docker 컨테이너 레지스트리에서 License Compliance 이미지를 호스팅합니다.image
로컬 Docker 컨테이너 레지스트리에서 호스팅되는 License Compliance Docker 이미지를 참조 하려면 값을 바꿔야합니다..gitlab-ci.yml
파일에 다음 구성을 추가
Code Block |
---|
include:
- template: License-Scanning.gitlab-ci.yml
license_scanning:
image: registry.example.com/namespace/license-management:latest |
GitLab 환경 내에서 패키지 레지스트리에 접근할 수 있고 패키지 관리자가 선호하는 패키지 레지스트리를 사용하도록 구성되어 있는지 확인
6. 라이센스 준수를 위한 프로젝트 정책
프로젝트 설정에서 라이센스 목록 및 해당 상태를 관리하고 라이센스는 수동으로 허용 또는 거부 할 수 있습니다.
라이센스를 허용하거나 거부하려면
merge request widget에서 Manage licenses 버튼를 사용 하거나 프로젝트의 Settings> CI / CD> License Compliance
Add a license 버튼을 클릭
License name 에서 드롭 다운, 아래 중 하나를 선택
사용 가능한 라이센스 중 하나를 선택 후 목록 상단의 필드에서 라이센스를 검색 할 수 있습니다
목록 상단의 필드에 임의의 텍스트를 입력 시 텍스트가 라이센스 이름으로 목록에 추가됩니다.
선택한 라이센스를 각각 허용 또는 거부 하려면 허용 또는 거부 라디오 버튼을 선택
기존 라이센스를 수정
License Compliance 목록에서 클릭 허용 / 거부 원하는 상태로 변경 드롭 다운.
라이센스 검색
Search 상자를 사용하여 특정 라이센스를 검색
...
7. 파이프 라인에 따른 라이센스 준수 보고서
프로젝트의 왼쪽 사이드 바에서 CI / CD> 파이프 라인으로 이동 하고
license_management
작업 이있는 파이프 라인 ID를 클릭하면 나열된 라이센스가 있을 시 라이센스 탭이 표시됩니다.
8. 라이센스 목록
라이센스 목록을 사용하면 프로젝트 라이센스와 라이센스에 대한 주요 세부 정보를 볼 수 있습니다.
라이센스가 라이센스 목록 아래에 표시 되려면 다음 요구 사항이 충족되어야 합니다.
프로젝트에 대해 라이센스 준수 CI 작업을 구성해야 합니다 .
프로젝트는 지원되는 언어 및 패키지 관리자 중 하나 이상을 사용해야 합니다 .
모든 것이 설정되면 Security & Compliance > License Compliance 로 이동 시 다음과 같은 라이센스가 표시됩니다.
이름 : 라이센스의 이름
구성 요소 : 이 라이센스가있는 구성 요소
9. 정책
Policies 탭을 사용하면 프로젝트의 소프트웨어 라이센스 정책과 각 관련 분류를 볼 수 있습니다.
프로젝트의 관리자가 정책을 구성할 수 있습니다.
...
프로젝트 개발자는 프로젝트에 구성된 정책을 볼 수 있습니다.