使用最新版本?
JFrog平台用户指南
JFrog Artifactoryx文档
要获取最新版本,请访问JFrog统一平台
统一License管理
中管理license管理模块下配置| license。
单击,可以添加新的license新或通过选择其许可证密钥在列表中。
Artifactory预先配置了所有常用的OSIJFrog已经针对公共项目构建调整了这些许可。
通过选择出口,还可以导出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
您可以在构建已经运行之后手动运行许可证发现规则。你可能想要这样做有几个原因:
- 许可证规则(已配置的许可证和正则表达式)已经更改,您希望将现有的构建许可证与新规则的结果进行比较,或者使用它们来完成缺失的许可证信息。
- 根据依赖项测试当前规则,并在必要时调整规则。
- 检查哪些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文档获取使用信息。