使用Artifactory 6。x ?
JFrog Artifactoryx用户指南
浏览历史
将复制
Push复制用于同步局部存储库,并由近端的Artifactory服务器实现,该服务器调用到远端的工件同步。
有两种方法可以调用推送复制:
- 将推:定时异步调度推送
- 基于事件的推动:推送几乎是实时发生的,因为工件的每次创建、复制、移动或删除都会立即传播到远端。
优势
- 它之所以快是因为它是异步的。
- 它最大限度地减少了存储库不同步的时间。
- 在复制链的情况下,它减少了主节点上的流量(“服务器a”复制到“服务器B”,“服务器B”然后复制到“服务器C”等)。
| 提示 | ||
|---|---|---|
|
||
当远端的存储库对于近端的存储库中的任何更改(创建、复制、移动或删除工件)都需要近乎实时地更新时,建议使用基于事件的推送复制。 定期计划复制在基于事件的复制之上运行,即使在服务器停机和网络分区的情况下也能保证完全复制的一致性。 |
Multi-push复制
使用Enterprise许可,Artifactory支持多推送复制,允许您同时将本地存储库从单个源复制到多个企业目标站点。
把复制
这提供了一种方便的方式来主动填充远程缓存,并且在由于网络延迟而不希望等待新工件按需到达(当第一次请求时)时非常有用。
有两种方法可以调用拉复制:
- 安排拉:拉式复制由远程存储库调用,并根据定义的时间表以定期同步存储库(本地、远程或虚拟)异步运行。
- 基于事件的提取:
拉取几乎是实时发生的,因为工件的每次创建、复制、移动或删除都会立即传播到远端。一旦文件被上传,它就会被复制并立即提供给目标(拉取)实例,甚至不必等待文件上传在源端完成
优势
- 多个目标服务器可以从相同的源服务器高效地实现一对多复制。
- 它更安全,因为每个包只有一个“跳”。
- 它减少了目标服务器上的流量,因为它们不必在复制链中传递工件。
| 提示 | ||
|---|---|---|
|
||
在以下情况下推荐使用Pull复制:
拉式复制不能用于复制非Artifactory存储库的远程资源。来自第三方存储库的构件只能按需缓存,以正常的缓存和代理行为远程存储库. |
| 请注意 | ||
|---|---|---|
|
||
控件中添加以下行,可以限制订阅的基于事件的pull复制Artifactory实例的数量artifactory.system.properties在你的etc文件夹中的文件:
|
调度和配置复制
使用UI
通过用户界面将复制配置为计划任务。本地存储库可以配置为推送复制,远程存储库可以配置为拉复制。
所有复制消息都记录在主目录中人工日志文件(artifactory.log).
的复制列表示是否为列表中的每个存储库配置了复制。如果确实为存储库配置了复制,则可以单击列表中的图标来调用它。
配置推送复制
配置了本地存储库的推送复制任务复制标签编辑本地存储库对话框。
首先,在Cron表达式字段定义复制任务计划有效的
| Newtablink | ||||
|---|---|---|---|---|
|
的下一次复制时间将指示相应的更新。
| 请注意 | ||
|---|---|---|
|
||
将此存储库复制到其所有目标同时发生Cron表达式你定义。 事件基复制将尝试复制只有受事件影响的工件,而Cron表达式将触发存储库中所有工件的同步。这个区别很重要,因为如果其中一个事件同步失败,下一次Cron表达式将触发同步,所有更改都将同步。 |
为每个复制目标配置了复制属性后复制选项卡显示它们。
| 字段名 | 描述 |
|---|---|
推动 |
已定义的复制目标 |
启用 |
设置后,启用将此存储库复制到中指定的目标推动 |
启用事件复制 |
设置后,每个事件将触发在此事件中更改的工件的复制。这可以是工件上的任何类型的事件,例如添加、删除或属性更改。 |
| 信息 | ||
|---|---|---|
|
||
如果您没有Enterprise许可证,则只能定义一个复制的目标。使用Enterprise许可,Artifactory支持多推送复制,您可以根据需要定义尽可能多的目标。 |
添加推送复制目标
要为该复制添加目标站点,请单击添加要显示复制属性对话,并填写如下细节。
| 部分 | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
配置Pull复制
中配置了远程存储库的pull复制任务复制标签编辑远程存储库对话框。
首先,在Cron表达式字段定义复制任务计划,使用有效的
| Newtablink | ||||
|---|---|---|---|---|
|
的下一次复制时间将指示相应的更新。
| 列 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||
|
| 信息 | ||
|---|---|---|
|
||
远程存储库用于复制的文件清单是使用存储库的凭证检索的,该凭证定义在存储库的凭证下先进的配置部分。 检索到的远程文件取决于配置的用户对远程存储库(在另一个Artifactory实例上)的有效权限。 |
| 锚 | ||||
|---|---|---|---|---|
|
| 请注意 | ||
|---|---|---|
|
||
对于某些打包格式,当使用相应的客户端通过Artifactory访问存储库时,URL中的存储库键需要加上前缀api / < pkg >在小路上。例如,在的情况下Npm存储库,存储库密钥的前缀应该是 然而,这条规则也有例外。例如,在复制Maven存储库时,您需要这样做不需要在远端存储库路径上添加前缀. 是否为存储库键添加前缀的注意事项api / < pkg >与配置智能远程存储库时相同。以获取应该以。作为前缀的包格式的详细列表api / < pkg >,详情请参阅配置下智能远程存储库. |
使用REST API进行复制
Artifactory的REST API都支持Push和Pull复制。详情请参阅以下资料:
复制属性
一旦调用了复制,Artifactory就会对正在复制的源存储库进行注释,并用指示复制状态的属性对其进行注释。控件中可以查看这些属性,以及可能注释存储库的其他属性属性标签树浏览器.
对于单推复制操作,将创建/更新以下属性:
| 关键 | 价值 |
|---|---|
| artifactory.replication。< source_repo_key > .started | 复制开始的时间 |
| artifactory.replication。<source_repo_key > .status | 指示复制操作完成后的状态。它可以取以下值: 好吧:复制成功 失败:复制失败。您应该检查日志文件以查找错误 |
| artifactory.replication。<source_repo_key > .finished | 指示复制完成的时间 |
对于多推送复制操作(仅对企业客户可用),将创建/更新以下属性:
| 关键 | 价值 |
|---|---|
| artifactory.replication。< source_repo_key >_ < target_repo_URL >.started | 复制开始的时间 |
| artifactory.replication。< source_repo_key >_ < target_repo_URL >.status | 指示复制操作完成后的状态。它可以取以下值: 好吧:复制成功 失败:复制失败。您应该检查日志文件以查找错误 |
| artifactory.replication。< source_repo_key > _ < target_repo_URL > .finished | 指示复制完成的时间 |
观看视频
要查看复制的实际操作,请观看下面的简短屏幕截图。
| 超文本标记语言 |
|---|







