使用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的Package search更有效地搜索Debian软件包。
元数据属性是为部署到Artifactory的每个新工件编写的。
要将这些属性写入存储库中已经存在的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创建时。
请注意,远程Debian存储库的索引文件(包括源索引)是根据检索缓存周期设置。
计算Debian坐标
您可以从远程存储库中提取组件/发行版/体系结构坐标,并将它们分配为缓存包上的属性。
为此,右键单击相关的远程Debian存储库并选择计算Debian坐标。你也可以用计算缓存远程Debian存储库坐标REST API。
对于包含许多包的远程存储库,此过程可能需要一些时间。建议仅在需要时运行。例如,在将包复制到本地存储库之前。
下面的执行将只计算新添加到缓存中的包。
虚拟存储库
Artifactory中定义的虚拟存储库聚合来自本地和远程存储库的包。
这允许您从为虚拟存储库定义的单个URL访问本地托管的Debian包和远程代理的Debian存储库。
要定义虚拟Debian存储库,请创建虚拟存储库,设置包类型是Debian,并选择底层的本地和远程Debian存储库以包含在基本设置选项卡。
不支持琐碎布局
只有具有Automatic Layout的存储库才能包含在虚拟存储库中。一个弃用微不足道的虚拟存储库不支持布局。
索引远程体系结构
创建新的虚拟存储库时索引远程体系结构字段指定将为包含的远程存储库索引的体系结构。
指定这些体系结构将加快Artifactory的初始元数据索引过程。默认的体系结构值为amd64
和i386
。
设置可选的索引压缩格式除了默认的Gzip (. zip)之外,还可以使用您想要创建的索引文件格式。gzip扩展)。
签名Debian元数据
Artifactory支持使用GPG密钥对Debian存储库元数据(不是包)进行签名。这个过程将创建一个签名的发布文件Release.gpg
,它将与发布文件一起发送。Artifactory将存储和管理用于签名和验证Debian软件包的公钥和私钥。
要生成一对GPG密钥并将其上传到Artifactory,请参见管理签名密钥。
使用Debian快照
创建Debian快照
从Artifactory 7.41.3开始,Debian存储库包括对Debian快照的支持。Debian快照包含本地、远程或虚拟Debian存储库的固定状态的元数据。快照是不可变的,并且包含每个特定发行版的元数据文件夹,包括所有元数据文件,例如版本和包
,而不是实际的包装。
快照可用于以下场景:
- 作为备份,允许您在由于依赖项更改而导致包损坏的情况下轻松退回到以前的版本。
- 为了发布的目的,测试的包文件可以被不可变地保存和提供。
在Artifactory中,Debian快照默认保存在repoKey /照片/美元标签
并使用专用的创建Debian快照REST API创建。
在下面的例子中,一个名为2的Debian快照02203141800
保存在deb-snapshot
本地存储库,包含焦
分布元数据。
规则及指引
- 为了在Artifactory中使用Debian快照,您需要配置Debian客户端的源文件,使其指向以下路径:artUrl/ Artifactory /api/deb/$repoKey/ Snapshots /$tag。
- 的根源快照
sub-repository
是repoKey /照片/美元标签
。 - 的所有元数据文件
srcRepo / dist /美元分布
,包括release和packages文件拷贝到快照文件夹。 - 在该文件夹中,有一个名为
deb.snapshot.sourc
e创建指向源存储库的。 - 你需要使用
/ artifactory / api / deb repoKey /照片/美元/标记
,其中标记是快照的用户定义名称。 - 删除快照不会删除相关的Debian软件包文件。Debian
快照
子存储库不包含包,而只是重定向到它们。
要创建Debian快照,请参见创建Debian快照REST API。
解析Debian快照
为了在Artifactory中使用Debian快照,你需要将Debian客户端的源文件配置为指向以下路径:artUrl / artifactory / api / deb repoKey /照片/美元/标记
。
在Packages文件中添加MD5校验和
支持工具(例如:恰当地),要求Debian软件包在其包
您可以通过在Artifactory .system.properties文件中设置以下系统属性来配置Artifactory来添加该值:
#artifactory.debian.metadata.calculateMd5InPackagesFiles=true添加MD5校验和
要使此更改生效,需要重新启动Artifactory。
通过身份验证访问服务器
如果需要访问需要用户名和密码的安全Artifactory服务器,可以在Debian中指定source.list
通过在工件主机名前加上所需的凭据来创建文件,如下所示:
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客户端的按哈希获取功能,该功能适用于使用Automatic架构的Debian存储库(不支持按哈希获取包的Trivial架构)。该特性由两个支持系统属性:
artifactory.debian.use.acquire.byhash | (默认值:真实) 当为true时,Debian发布文件中的acquire-by-hash值被设置为true,允许APT客户端通过校验和(MD5, SHA1, SHA256)访问Debian软件包。为此,Artifactory将在所有Debian存储库中添加“按散列”布局 |
artifactory.debian.packages.byhash.history.cycles.to.Keep | (默认值:3) 指定启用按哈希获取时要保存的包文件历史记录的周期数 |
使用Debian InRelease元数据文件
从7.4版开始,Artifactory支持Debian InRelease元数据文件。
人工会产生一个InRelease
使用GPG签名时,存储库中的元数据文件。从Artifactory下载Debian包现在会更快,因为客户端只会下载InRelease
文件,而无需下载释放
和Release.gpg
更重的文件。
REST API支持
Artifactory REST API为Debian签名密钥和重新计算存储库索引提供了广泛的支持,如下所示: