使用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包体系结构 |
添加架构独立包
deb.architecture =所有
将导致它出现在所有其他体系结构的Packages索引中,在同一个分发和组件下,以及在一个名为binary-all
它包含所有标记为“all”的Debian包。指定多个布局
无论是使用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选项卡将显示一条消息,表明该包未被索引,以及验证过程失败的原因
- Artifactory日志文件中记录了一条消息,指出包没有被索引,以及它为什么没有通过验证过程。
禁用验证
debian.metadata.validation
系统属性.包验证默认是启用的。禁用Debian包验证集。debian.metadata.validation = false
远程存储库
您可以从上面描述的本地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-repository
是repoKey /照片/美元标签
. - 的所有元数据文件
srcRepo / dist /美元分布
,包括发布和包文件,复制到快照文件夹。 - 在文件夹中,一个名为
deb.snapshot.sourc
e创建指向源存储库的。 - 你需要使用
/ 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主机名前加上所需的凭据,如下所示:
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存储库,不能禁用。Bzip2
(bz2
文件扩展名)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签名密钥和重新计算存储库索引提供了广泛的支持,如下所示: