返回列表 发布新帖

离线环境运行license扫描

119 0
发表于 2024-4-29 16:54:37 | 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

离线环境的license扫描

操作方式概括

  1. 拉取官方的license合规性扫描镜像
  2. 把镜像加载到离线的gitlab-runner 环境
  3. 修改gitlab-runner 的镜像拉取策略
  4. 在流水线中启动license 合规性扫描
  5. (可选)使用本地的私有扫描库

1. 拉取官方的license合规性扫描镜像

docker pull registry.gitlab.com/security-products/license-finder:latest

2. 导入镜像到离线的gitlab-runner环境

导入镜像可以考虑采用 docker savedocker load 等方式,这需要考虑离线环境中的网络限制。

3. 修改gitlab-runner的镜像拉取策略

gitlab-runner的默认镜像拉取策略为 always,在离线环境中无法拉取镜像会导致任务失败。修改拉取策略为 if-not-present。

修改示例:

[runners.docker]
    tls_verify = false
    image = "alpine:latest"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
    pull_policyi = if-not-present

4. 在流水线中启用license合规性扫描

license合规扫描作业不依赖于流水线中的任何其他作业。

示例:

$ .gitlab-ci.yml

stages:
  - test
include:
  - template: License-Scanning.gitlab-ci.yml

5. (可选)使用本地私有扫描库

如果您想使用本地私有化的扫描库,可能需要做额外的配置。详细可以参阅:https://docs.gitlab.com/ee/user/compliance/license_compliance/index.html#set-license-compliance-cicd-variables-to-use-local-license-compliance-analyzers

6. 注意事项

6.1 离线环境license扫描数据更新

默认的license扫描每次都会从公网拉取扫描镜像,则每次运行时都是最新数据。如果在离线环境中运行license扫描,因为是固定的扫描镜像,所以扫描数据不会更新,需要您关注镜像数据更新并在合适的时间更新到您的离线环境中。

6.2 运行界面的请求超时

离线扫描时,可能会在扫描日志中出现连接超时的现象。

这个现象是因为镜像无法连接到外部的lincense 发行说明校验地址,无法获取到最新的数据,这并不会影响扫描结果,只是扫描的数据来源于本地的扫描镜像,无法利用最新的license扫描数据。

6.3 (可选)使用私有扫描库可能存在的安全风险

离线环境中使用私有扫描库可能存在安全风险,这需要您根据实际情况来判定处理。具体的情况请参阅:https://docs.gitlab.com/runner/security/index.html#usage-of-private-docker-images-with-if-not-present-pull-policy

回复

使用道具 举报

意见建议

Email:forum@gitlab.cn
  • 关注公众号
  • 添加专业顾问
Copyright © 2001-2024 极狐GitLab论坛 版权所有 All Rights Reserved. 鄂ICP备2021008419号-1|鄂公网安备42018502006137号
关灯 快速发帖
扫一扫添加专业顾问
返回顶部
快速回复 返回顶部 返回列表