云客户?
免费开始>
在MyJFrog >中升级
云有什么新>







概述

Artifactory支持Debian存储库,无论它们是否使用当前的自动Debian体系结构或已弃用微不足道的体系结构。作为一个成熟的Debian存储库,Artifactory生成的索引文件与Debian客户端完全兼容。

对Debian的Artifactory支持提供:

  • 能够从Artifactory从本地和远程存储库向Debian客户端提供Debian包。
  • 计算托管在Artifactory本地存储库中的Debian包的元数据。
  • 访问远程Debian资源(例如2022世界杯阿根廷预选赛赛程us.archive.ubuntu.com)通过远程存储库它们提供了常用的代理和缓存功能。
  • 提供GPG签名,Debian客户端可以使用它来验证包。
  • 使用Artifactory UI和REST API完成GPG签名的管理。
  • 支持部署Debian快照。

配置

只能将Debian包部署到使用Debian创建的本地存储库包类型

您可以从本地或远程Debian存储库下载包。

局部存储库

要启用Debian元数据的计算,请在政府模块,转到存储库|存储库|当地的并选择Debian随着包类型当您创建本地存储库时

如果您正在使用Debian与微不足道的布局,在Debian的设置部分,设置简单的布局复选框。

可选索引压缩格式,点击选择压缩格式并从下拉列表中选择除了默认的索引文件格式外,还要创建的索引文件格式Gzip(。gzip扩展名),它是为每个Debian存储库创建的,不能禁用。方法还可以创建其他索引文件格式本地存储库REST API。

要允许对调试符号进行索引,请选择启用使用调试符号的索引(.ddeb)字段。

页面内容

使用UI部署包

要将Debian包部署到Artifactory,请在Artifacts Repository Browser中单击部署

选择您的Debian存储库作为目标库,上传要部署的文件。

检查部署为Debian Artifact复选框,并填写分布、组件而且体系结构字段Debian工件部分。注意目标路径自动更新以反映您的输入。


手动设置目标路径?注意空格

方法中的字段Debian工件部分设置目标路径。尽管如此,如果您选择指定目标路径手动地,确保您没有输入任何多余的空格。

例如上传包planckdb - 08 - 2015. -黛比,并指定其布局来自可靠的分布,在主要组件和i386建筑,你会进入:

池/ planckdb - 08 - 2015. - deb; deb.distribution =可靠的;deb.component =主;deb.architecture = i386


您还可以使用显式URL将Debian包部署到Artifactory矩阵参数

在部署工件之后,您需要等待大约一分钟,以便Artifactory重新计算存储库索引,并在repository Browser中显示您的上载。

一旦你部署了Debian包,Artifactory重新计算了存储库索引,你的存储库应该如下所示:

使用矩阵参数部署包

URL的构建类似于目标路径格式如下:

使用矩阵参数部署包
把“http://SERVER_HOSTNAME: 8081 / artifactory / {debianRepoKey} /池/ {debianPackageName}; deb.distribution ={分布};deb.component ={组件};deb.architecture ={架构}"

例如,上传包libatk1.0_i386.d海尔哥哥,并指定其布局来自老生常谈的分布,在主要组件和i386建筑,你会进入:

例子
把“http://localhost: 8081 / artifactory / debian-local /池/ libatk1.0_i386.deb; deb.distribution =老生常谈的;deb.component =主;deb.architecture = i386”

设置目标路径

目标路径需要以严格和特定的格式输入,该格式使用系统属性来定义工件将存储的位置及其具体布局,如下所示:

目标路径格式
(路径);deb.distribution =(分布);deb.component =(组件);deb.architecture =(建筑)
路径

应该存储包的存储库路径。

Artifactory支持在存储库中的任何位置存储Debian包。页面上的示例显示了存储在文件夹按照Debian惯例。

分布
属性的值deb.distribution属性,用于指定Debian包分发
组件
属性的值deb.component属性用于指定Debian包组件名称
体系结构
属性的值deb.architecture属性用于指定Debian包体系结构

添加架构独立包

上传Debian软件包deb.architecture =所有将导致它出现在所有其他体系结构的Packages索引中,在同一个分发和组件下,以及在一个名为binary-all它包含所有标记为“all”的Debian包。
删除一个“全部”Debian包也将从同一分发版和组件下的所有其他索引中删除它。
当一个体系结构中的最后一个Debian包被移除,但Packages索引仍然包含一个“全部”Debian包时,它将保留在索引中。
如果你想删除这样的架构索引,你可以通过UI或使用计算Debian存储库元数据在REST API中,它从索引中清理孤立的包文件。

指定多个布局

无论是使用UI还是Matrix Parameters上传一个包,你都可以为你上传的任何Debian包指定多个布局,包括发行版、组件或架构的附加值,用逗号分隔。

例如,上传包libatk1.0_i386.deb两个老生常谈的而且可靠的两者的分布主要而且普通发布版组件和两者i386而且64年bit-arm你将使用UI指定以下目标路径来上传:

多个布局的目标路径
池/ libatk1.0_i386.deb; deb.distribution =老生常谈的;deb.distribution =可靠的;deb.component =主;deb.component = contrib; deb.architecture = i386; deb.architecture = 64 bit-arm

相应地,要使用矩阵参数上传文件,您将使用以下命令:

使用矩阵参数的多个布局
把“http://localhost: 8081 / artifactory / debian-local /池/ libatk1.0_i386.deb; deb.distribution =老生常谈的;deb.distribution =可靠的;deb.component =主;deb.component = contrib; deb.architecture = i386; deb.architecture = 64 bit-arm”

工件元数据

Artifactory从Debian包的元数据中写入几个条目作为所有工件上的属性(基于控制文件的内容)。

这些属性可以用于使用Arifactory的包搜索更有效地搜索Debian包。

元数据属性是为部署到Artifactory的每个新Artifact编写的。

要将这些属性写入存储库中已经存在的Debian构件,需要调用计算Debian存储库元数据REST API,默认情况下将属性写入所有工件。

元数据验证

为了确保Debian存储库不会被畸形包破坏,Artifactory首先验证Debian元数据的一部分,以确保相关的元数据字段都不是空的。如果验证过程指出一个畸形的包,Artifactory提供以下几种指示:

  • 包没有索引
  • 包被注释如下属性:
    • 关键:deb.index.status
    • 值:包在验证过程中失败的原因
  • 如果在Tree Browser中选择了该包,Debian Info选项卡将显示一条消息,表明该包未被索引,以及验证过程失败的原因

Debian的信息

  • Artifactory日志文件中记录了一条消息,指出包没有被索引,以及它为什么没有通过验证过程。


禁用验证

Debian包验证由debian.metadata.validation 系统属性。包验证默认是启用的。禁用Debian包验证集。
debian.metadata.validation = false

查找畸形包

要在Debian存储库中轻松找到所有格式不正确的包,可以使用属性搜索或运行AQL查询性能标准deb.index.status属性。

远程存储库

您可以从上面描述的本地Debian存储库或指定为支持Debian包的远程存储库下载Debian包。

若要指定远程存储库支持Debian包,需要设置其包类型Debian当它创建时。

注意,远程Debian存储库的索引文件(包括sources索引)是根据检索缓存周期设置。

计算Debian坐标

您可以从远程存储库提取组件/分发/体系结构坐标,并将它们作为缓存包的属性分配给它们。

要做到这一点,右键单击相关的远程Debian存储库并选择计算Debian坐标。你也可以使用计算缓存的远程Debian存储库坐标REST API

对于包含许多包的远程存储库,此过程可能需要一些时间。建议只在需要时运行它。例如,在将包复制到本地存储库之前。

下面的执行将只计算新添加到缓存中的包。

虚拟存储库

Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。

这允许您从为虚拟存储库定义的单个URL访问本地托管的Debian包和远程代理的Debian存储库。

若要定义虚拟Debian存储库,请创建虚拟存储库,并设置包类型Debian,并选择要包含在基本设置选项卡。

不支持平凡布局

只有具有自动布局的存储库才能包含在虚拟存储库中。一个弃用微不足道的虚拟存储库不支持布局。

索引远程体系结构

创建新的虚拟存储库时,可以使用索引远程体系结构字段指定将为所包含的远程存储库索引的体系结构。

指定这些体系结构将加快Artifactory的初始元数据索引过程。默认的体系结构值为amd64而且i386

设置可选索引压缩格式使用您想要创建的索引文件格式,以及默认的Gzip(。gzip扩展)。


签署Debian元数据

Artifactory支持使用GPG密钥对Debian存储库元数据(而不是包)进行签名。这个过程将创建一个名为Release.gpg,它将随发布文件一起发布。Artifactory将存储和管理用于签署和验证Debian包的公钥和私钥。

若要生成一对GPG密钥并将其上传到Artifactory,请参见管理签名密钥


使用Debian快照

创建Debian快照

从Artifactory 7.41.3开始,Debian存储库包含了对Debian快照的支持。Debian快照包含本地、远程或虚拟Debian存储库的固定状态的元数据。快照是不可变的,并且包含每个特定发行版的元数据文件夹,包括所有元数据文件,例如发布和包,而不是实际的包裹。

快照可用于以下场景:

  • 作为备份,允许您在由于依赖项更改而导致包损坏的情况下轻松地返回到以前的版本。
  • 出于发布目的,测试的Packages文件可以不可更改地保存和提供。

在Artifactory中,Debian快照默认保存在repoKey /照片/美元标签Debian存储库中的子文件夹,并使用专用的创建Debian快照REST API创建。

在下面的例子中,一个名为2的Debian快照02203141800保存在deb-snapshot本地存储库,包含分布元数据。

规则及指引

  • 为了在Artifactory中使用Debian快照,你需要配置Debian客户端的源文件指向以下路径:artUrl/ Artifactory /api/deb/$repoKey/ Snapshots /$tag
  • 的根快照sub-repositoryrepoKey /照片/美元标签
  • 的所有元数据文件srcRepo / dist /美元分布,包括发布和包文件,复制到快照文件夹。
  • 在文件夹中,一个名为deb.snapshot.source创建指向源存储库的。
  • 你需要使用/ artifactory / api / deb repoKey /照片/美元/标记,其中标签是快照的用户定义名称。
  • 删除快照不会删除相关的Debian Package文件。Debian快照子存储库不包含包,而只重定向到它们。

要创建Debian快照,请参见创建Debian快照REST API

解决Debian快照问题

为了在Artifactory中使用Debian快照,你需要配置Debian客户端的源文件指向以下路径:artUrl / artifactory / api / deb repoKey /照片/美元/标记


在Packages文件中添加MD5校验和

支持工具(例如:恰当地),要求Debian包在它们的文件中包含MD5校验和为了验证,你可以配置Artifactory来添加这个值,方法是在Artifactory .system.properties文件中设置下面的系统属性:

##添加包MD5校验和到Debian包文件#artifactory.debian.metadata.calculateMd5InPackagesFiles=true

需要重新启动Artifactory才能使更改生效。


认证访问服务器

如果需要访问需要用户名和密码的受保护的Artifactory服务器,可以在Debian中指定这些source.list通过在artifactory主机名前加上所需的凭据,如下所示:

使用凭据访问Artifactory
http://user:password@SERVER_HOSTNAME:8081/artifactory/{repoKey} {distribution} {components}例如:http://admin:password@localhost:8081/artifactory/debian-local wheezy main restricted

加密密码

您可以使用中所述的加密密码使用安全密码


压缩格式

Artifactory支持以下Debian索引压缩格式:

  • Gzip. gz文件扩展名)—由默认为每个Debian存储库,不能禁用。
  • Bzip2bz2文件扩展名)
  • LZMA.lzma扩展)
  • XZ.xz扩展)

通过哈希获取包

Artifactory支持APT客户端通过哈希获取Debian存储库的功能,这些存储库使用Automatic架构(不支持通过哈希获取包的平凡架构)。该特性由两个支持系统属性

artifactory.debian.use.acquire.byhash

(默认值:真实)

当为true时,Debian发布文件中的hash获取值将被设置为true,允许APT客户端通过校验和(MD5, SHA1, SHA256)访问Debian包。为了实现这一点,Artifactory将在所有Debian存储库中添加“by-hash”布局

artifactory.debian.packages.byhash.history.cycles.to.Keep

(默认值:3)

指定启用按哈希获取时要保存的包文件历史的循环次数


使用Debian InRelease元数据文件

从7.4版开始,Artifactory支持Debian InRelease元数据文件。

Artifactory将生产一种InRelease在使用GPG签名时,存储库中的元数据文件。从Artifactory下载Debian包现在会更快,因为客户端只会下载InRelease文件,而无需下载释放而且Release.gpg较重的文件。


REST API支持

Artifactory REST API为Debian签名密钥和重新计算存储库索引提供了广泛的支持,如下所示:


观看录像

  • 没有标签
版权所有©2023 JFrog Ltd。