跳到元数据的末尾
转到元数据的开始

控制第三方许可证

License Control Add-on完成人工构建集成允许您完全控制构建(最终在您的软件中)所使用的依赖项的许可。

这个插件是Artifactory Pro电源包的一部分。

作为Build Server部署到Artifactory的一部分,它会分析所使用的依赖项,并尝试将它们与一组许可管理规则相匹配。

可以向选定的收件人列表发送关于具有未知或未经批准的许可信息的依赖项的通知。

为了支持这个特性,Artifactory包括一个新的许可证管理工具,其中定义了关于许可证匹配和批准状态的规则。这些规则是作为许可证分析的一部分来参考的。

许可证分析是如何工作的?

通过检查在工件模块文件中找到的信息,在部署时执行自动分析。目前Maven POM,Ivy Descriptor, NuGet和RPM支持文件。

您始终可以覆盖自动结果并手动将许可信息分配给依赖项。您还可以将当前许可证状态与自动计算的许可证状态进行比较,并决定接受哪些自动分析结果。

许可信息与工件一起存储,并由后续构建中的自动许可分析重用。

页面内容



统一License管理

中管理license管理模块下配置| license

许可证管理

单击,可以添加新的license或通过选择其许可证密钥在列表中。

Artifactory预先配置了所有常用的OSIJFrog已经针对公共项目构建调整了这些许可。

通过选择出口,还可以导出license列表。

编辑License信息

创建或编辑license

许可证密钥
Artifactory中此许可证的唯一标识符
长名字
license的描述
url
描述许可条款的URL
笔记
额外的笔记
正则表达式

用于匹配license的正则表达式(通过与模块文件中的license信息进行比较)。

如果您将regexp字段留空,Artifactory将尝试对许可证密钥进行精确匹配。

批准
当设置时,此许可被批准,这意味着您允许使用该许可附带的组件。



使用构建许可证

构建服务器配置

当您从CI服务器(Hudson, TeamCity或Bamboo)运行构建时,配置Artifactory Plugin以将许可证检查作为构建的一部分运行。

下面是Artifactory Plugin的Hudson配置的一个示例:

您可以配置是否希望将许可证检查作为将构建信息部署到Artifactory的一部分进行(必须将构建信息材料清单部署到Artifactory以运行许可证检查)。

您还可以设置一个收件人列表,以便在发生许可证违规时立即通知收件人。这样,每当将带有未知或未经批准的许可的依赖项添加到构建时,接收方就会立即收到电子邮件通知,并可能注意到任何潜在的许可违规。

发送许可证违规通知是通过Artifactory执行的,并且需要一个有效的邮件服务器待配置。

构建不失败

目前,Artifactory不会因为违反许可而导致构建失败。

这是一个明智的决定,允许技术开发继续进行,同时提醒其他人在近时间或实时情况下出现未经授权的依赖关系,以便由适当的各方尽早解决这些问题。

检查建造许可证

一旦构建在构建服务器上完成,并且构建信息已经部署到Artifactory,就会运行许可证检查。

详细的license信息可在许可证标签构建浏览器。此选项卡显示有关构建中使用的所有依赖项及其关联的许可证的信息。将信息分组范围许可证单击相应的列标题。


构建信息许可证

摘要面板按状态显示许可证的总数,在表本身中,许可证根据其状态以不同的颜色显示:

许可状态 描述
未经批准的


找到的许可证不是已批准的许可证

未知的

找到许可信息,但不能与Artifactory中管理的任何许可相关

没有找到

找不到工件的许可信息。

中性

找到的许可证是未经批准的,但是为该工件找到了另一个已批准的许可证
(仅适用于与多个许可证相关联的工件)

批准 找到的许可证是已批准的许可证
内联License编辑

在Build Browser中,Artifactory管理员可以手动更改所显示的任何工件的许可信息。控件下的条目单击许可证列将显示编辑“artifactory。许可证的财产对话框,管理员可以在其中指定该工件的许可。例如,单击公共领域上面截图中的许可证条目将显示以下对话框:

编辑许可证属性

手动发现License

您可以在构建已经运行之后手动运行许可证发现规则。你可能想要这样做有几个原因:

  1. 许可证规则(已配置的许可证和正则表达式)已经更改,您希望将现有的构建许可证与新规则的结果进行比较,或者使用它们来完成缺失的许可证信息。
  2. 根据依赖项测试当前规则,并在必要时调整规则。
  3. 检查哪些license信息可以来自规则,哪些license信息必须手动设置。

要触发许可证发现,请选择“自动查找许可证”按钮。

表格右侧显示有冲突的license。您可以通过选中相应的复选框(您必须具有工件的注释权限),用发现的许可覆盖现有的许可信息您想要覆盖许可证)。

覆盖许可


手动设置License信息

中查看工件的详细信息时,手动设置工件的许可信息工件存储库浏览器,一般选项卡许可证条目,点击添加。

这将显示添加Artifactory Licenses属性对话框,您可以在其中指定所选工件的许可。


多个许可证

注意,一个工件可能与多个许可证相关联


扫描工件Maven/Ivy模型的许可证

编辑许可信息的另一个选择是扫描Maven/Ivy模型中的许可,也就是说,查找与工件匹配的现有pom。

在树浏览器中选择工件后,转到一般标签和下面许可证标签选择扫描并确认扫描结果中发现的许可证(如果有的话)。

另一种选择是使用“Search For Archive License File”链接,它将扫描工件存档,寻找“License”或“License.txt”条目,如果找到,则要求确认。

作为属性的许可信息

在内部,license信息以常规方式存储属性,使用内置的artifactory.licenses属性名。

因此,所有带有属性的操作都可用于许可信息(搜索、递归分配、基于属性的部署和解析等)。

许可证是属性


许可REST API

面向license的搜索和管理操作可以通过REST API实现。

参考REST API文档获取使用信息。


  • 没有标签