是否可以将任何外部或第 3 方存储系统用于人工制品?

is it possible to use any external or 3rd party storage system for artifactory?

我们正在寻找配置 jFrog Artifactory 以与其他对象存储系统一起工作的可能性...

可能吗?如果是的话,你能指导一下吗?

Artifactory 支持大量外部文件存储,包括所有大型云对象存储:

  • Amazon S3 兼容存储
  • Google 云存储
  • Azure Blob 存储
  • 任何一种本地坐骑
  • NFS
  • 数据库(完整数据库)

文件存储非常可配置,具有缓存和分片等多层。

请阅读:https://www.jfrog.com/confluence/display/RTF/Configuring+the+Filestore

目前,我们正在使用 Artifactory 7.x 的双节点 HA 集群,它指向符合 S3 的 Hitachi Content Platform (HCP)。效果很好!我们在本地缓存 500GB,然后剩下的在我们的 HCP 上。

在实现这个之前,我们仔细检查了支持人员关于他们文档的措辞。事实上,它们将支持任何 S3 兼容系统用作 Artifactory 的后端存储提供程序。

我们通过这些说明配置了它: https://www.jfrog.com/confluence/display/JFROG/S3+Object+Storage

我们的 binarystore.xml 看起来像这样:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config version="2">
    <chain>
        <provider type="cache-fs" id="cache-fs-eventual-s3">
            <provider type="sharding-cluster" id="sharding-cluster-eventual-s3">
                <dynamic-provider type="remote" id="remote-s3"/>
                <sub-provider type="eventual-cluster" id="eventual-cluster-s3">
                    <provider type="retry" id="retry-s3">
                        <provider type="s3" id="s3"/>
                    </provider>
                </sub-provider>
            </provider>
        </provider>
    </chain>
    <provider type="cache-fs" id="cache-fs-eventual-s3">
        <maxCacheSize>500000000000</maxCacheSize>
        <cacheProviderDir>cache</cacheProviderDir>
    </provider>
    <provider type="sharding-cluster" id="sharding-cluster-eventual-s3">
        <writeBehavior>crossNetworkStrategy</writeBehavior>
        <readBehavior>crossNetworkStrategy</readBehavior>
        <redundancy>1</redundancy>
        <property name="zones" value="local,remote"/>
    </provider>
    <provider type="eventual-cluster" id="eventual-cluster-s3">
        <zone>local</zone>
    </provider>
    <provider type="retry" id="retry-s3">
        <maxTrys>10</maxTrys>
    </provider>
    <provider type="s3" id="s3">
        <bucketName>Artifactory</bucketName>
        <endpoint>http://namespace.tenant.cluster.com</endpoint>
        <credential>REMOVED</credential>
        <port>80</port>
        <identity>REMOVED</identity>
        <httpsOnly>false</httpsOnly>
        <s3AwsVersion>AWS4-HMAC-SHA256</s3AwsVersion>
        <property name="httpclient.max-connections" value="300"/>
        <property name="s3service.disable-dns-buckets" value="true"/>
    </provider>
    <provider type="remote" id="remote-s3">
        <checkPeriod>15000</checkPeriod>
        <connectionTimeout>5000</connectionTimeout>
        <socketTimeout>30000</socketTimeout>
        <maxConnections>300</maxConnections>
        <connectionRetry>2</connectionRetry>
        <zone>remote</zone>
    </provider>
</config>

当我们第一次使用 Artifactory 6.x 进行设置时,我还在我的个人博客上发布了一个指南。你可以在这里找到: https://www.tyler-wright.com/using-hitachi-content-platform-as-backend-storage-for-jfrogs-artifactory/