Dependencies license management with GitLab CI/CD [ULTIMATE]
NOTE: Note: In order to use this tool, a GitLab Ultimate license is needed.
This example shows how to run the License Management tool on your project's dependencies by using GitLab CI/CD.
First, you need GitLab Runner with docker-in-docker executor.
You can then add a new job to .gitlab-ci.yml, called license_management:
license_management:
  image: docker:stable
  stage: test
  variables:
    DOCKER_DRIVER: overlay2
  allow_failure: true
  services:
    - docker:stable-dind
  script:
    - export LICENSE_MANAGEMENT_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
    - docker run
        --volume "$PWD:/code"
        "registry.gitlab.com/gitlab-org/security-products/license-management:$LICENSE_MANAGEMENT_VERSION" analyze /code
  artifacts:
    paths: [gl-license-management-report.json]The above example will create a license_management job in the test stage and will create the required report artifact. Check the
Auto-DevOps template
for a full reference.
TIP: Tip:
Starting with GitLab Ultimate 11.0, this information will
be automatically extracted and shown right in the merge request widget. To do
so, the CI job must be named license_management and the artifact path must be
gl-license-management-report.json. Make sure your pipeline has a stage named test,
or specify another existing stage inside the license_management job.
Learn more on license management results shown in merge requests.