概述:
Artifactory的Replication功能用于两个实例之间的存储库复制,用来支持分布在遥远地理位置上的不同团队的开发,或者在相同地区却需要同步的不同实例。主要优点如下:
-
确保所有开发人员都使用相同版本的远程制品
-
确保构建的制品可以在不同的开发团队之间有效地共享
-
克服了访问远程工件时的网络延迟和稳定性等连接问题
温馨小贴士:此功能小编建议用于相同的Artifactory版本之间;如果使用AWS的S3文件存储方式,那么不建议使用Artifactory此功能,以防造成损失!
Replication同步方法和策略:
-
复制方法:
①Push Replication
②Pull Replication
-
同步策略:
①基于事件进行触发,比如说上传,删除、创建、复制、移动等操作
②基于计划定时触发,根据Cron表达式定时触发
Push Replication
Push Replication:用于同步Local仓库,将制品同步到远端服务器,在此推荐使用基于事件触发同步。
在这里小编提醒大家配置时避免出现“循环复制”,容易造成数据丢失或者磁盘空间浪费。比如说以下两种情况:服务器A配置同步到B,服务器B配置同步到A;
服务器A配置同步到B,服务器B配置同步到C,服务器C配置同步到A
Multi-push Replication
需要企业License。使用企业License,Artifactory支持多推送复制,允许同时将本地存储库从单个源复制到多个目标站点。
Pull Replication
Pull Replication:以主动的方式同步Remote仓库缓存,将制品从远端服务器同步到近端,一般配置阿里,华为等源,配置后可以定时更新版本。
Local 仓库配置Replication
1.在创建Local仓库的基础上,选择Replication,,如下图:
2.添加目标仓库:
-
URL格式:https://<artifactory_url>/artifactory/<repository_name>
-
Username和Password:目标仓库用户名和密码
-
Sync Deleted Artifacts:设置后,原仓库删除的制品目标仓库也会删除(也适用于属性元数据)。注意,启用此选项后,比如B为A的目标仓库,启用选项后,A不存在的制品,B上也不会存在;往B仓库上传则会删除。
-
Sync Artifact Properties:设置后,会同步复制制品的属性(property)。
-
Sync Artifact Statistics:设置后,会同步制品下载统计信息。设置此目的在于避免为灾难恢复设置Replication时在目标实例上进行无意的清理。
-
Network Proxy Reference:选择与远程实例通信时使用的代理配置。
-
Socket Timeout:用于远程操作的网络超时时间(以毫秒为单位)。
-
Path Prefix :只有位于与存储库中的子路径匹配的路径中的工件才会被复制。
!!!一定要Test一下,看是否通
3.配置策略:
两种策略:我们可以选择配置 Cron Expression,进行定时同步;也可以选择Enable Active Replication of this Repository,可以根据事件进行触发。
Remote 仓库配置Replication
1.同Local库,先选择Replication
2.如果需要定时拉取最新版本,要选择勾选 Enable Active Replication of This Repository,然后配置 Cron Expression,选择多长时间进行一次Pull Replication,如果需要同步属性,同步删除则进行勾选,勾选内容同Local库,小编就不再进行说明了。