设置Azure Blob存储
Artifactory需要使用Azure块blob存储,这是一种针对非结构化文本和二进制数据进行优化的存储系统。块blob由可以单独管理的数据块组成,这非常适合作为Artifactory文件存储。
在为文件存储库设置Artifactory之前,您必须在Azure上创建一个适当的存储帐户.
要了解更多信息,请参见Microsoft Azure Blob存储简介在Microsoft Azure文档中。
设置Artifactory以使用Azure Blob存储
首次安装或升级
不管你是安装Artifactory或者正在将您的文件存储库移动到Azure Blob Storage升级Artifactory,我们建议您首先使用默认设置进行Artifactory的标准安装,或者使用当前设置进行标准升级。
要将Artifactory文件存储库移动到Azure Blob存储,请执行以下步骤:
- 关闭Artifactory。
- 设置许可证
- 配置Artifactory以使用Azure Blob存储
要配置Artifactory以使用Azure Blob Storage,您需要使用中描述的Azure Blob Storage二进制提供程序配置文件存储. - 将文件存储库迁移到云中
对于运行版本5.0或6.0的Artifactory HA集群,要迁移文件存储库,请参见从NFS协议迁移数据. - 启动装置
配置Artifactory以使用Azure
Artifactory的文件存储库通过binarystore.xml
文件。T他binarystore.xml
配置文件位于$ JFROG_HOME / artifactory / var / etc / artifactory
文件夹中。
直接(无最终)vs最终上传机制
从最终迁移到直接?
如果要从任何最终机制迁移到直接上传机制,请确保最终目录为空,否则可能会丢失数据。
默认的Azure链模板依赖于最终上传机制,当完整的二进制文件被上传到Artifactory时,客户端的上传就被认为是成功的。的直接上传机制是一种替代机制,在传到Azure之前,上传不会被视为成功。我们将在下面介绍这两种方法的优点。
直接上传机制(推荐)
Direct Upload机制允许您上传,而不需要为最终目录维护持久存储。这种机制也允许更快的上传,因为对磁盘IO的争用更少,特别是当Artifactory托管在Azure上时。
Azure支持直接上传,但不支持直接下载。
- 客户端将工件上传到Artifactory。
- Artifactory接收并同时上传到Azure。
- Artifactory完成将二进制文件上传到Azure。
- Artifactory将201成功返回给客户端。
- 为工件创建一个数据库条目。
最终上传机制
如果您在Azure上传速度较慢的系统上进行上传(例如,当Artifactory托管在本地时),您可能希望使用最终上传机制。最终上传机制还允许您在Azure时上传已关闭或遇到网络问题。
- 客户端将工件上传到Artifactory。
- Artifactory接收完整的上传。
- Artifactory向客户端返回一条201成功消息。
- 为工件创建一个数据库条目。
- 二进制文件存储在本地磁盘的最终目录中。
- Artifactory将二进制文件上传到Azure。
- 二进制文件将从最终目录中删除。
Azure Blob存储V1二进制提供程序
的azure-blob-storage
模板用于将Azure Blob Storage配置为远程文件存储。
下面的代码片段显示了基本模板配置和使用Azure Blob Storage二进制提供程序的示例。
此二进制提供程序使用以下一组参数。
testConnection |
默认值:真正的 如果为true, Artifactory将在启动时上传和下载一个文件,以验证到云存储提供商的连接是否完全正常。 |
帐号名称 |
存储帐户可以是通用存储账户或者一个Blob存储帐户专门用于存储对象/blob。 您的云存储提供商标识。 |
accountKey |
您的云存储提供商身份验证凭证。 |
containerName |
您在Azure Blob存储上的全局唯一容器名称。 |
端点 |
主机名。您应该只使用默认值,除非您需要为测试或生产目的联系不同的端点。 Azure端点:支持JFrog订阅 Azure的 |
httpsOnly |
默认值:真的。 如果为true,则可以使用安全的HTTPS连接访问云二进制提供程序。 |
binariesDir |
用于存储构件的目录。 只适用于直接上传。 默认值为 |
tempDir |
在上传过程中存储构件的临时目录。 只适用于直接上传。 |
因为您必须使用特定于您的帐户的参数配置Azure Blob存储提供程序(但可以将所有其他参数保留为推荐值)。
Azure直接上传V1模板(推荐)
Azure direct(或evental -less)模板允许直接上传到Azure,绕过最终上传机制。有关更多信息,请参见直接(无最终)vs最终上传机制.
下面的示例显示了修改后支持Azure直接上传的模板。
/var/opt/jfrog/artifactory/data/cache 10000000000 myaccount somekey https://artifactoryhaprod.blob.core.windows.net/ mycontainer 256000000 100000000
模板里有什么?
下面的代码片段显示了使用的默认链azure-blob-storage-direct
作为二进制提供程序:
cache-fs提供程序的详细信息请参见缓存文件系统二进制提供程序.
Azure最终上传模板
下面的示例显示了修改后支持Azure最终上传的模板。
XXXXXXXX XXXXXXXX https:// .blob.core.windows.net/
模板里有什么?
下面的代码片段显示了使用的默认链azure-blob-storage
作为二进制提供程序:
cache-fs提供程序的详细信息请参见缓存文件系统二进制提供程序.
有关最终提供程序的详细信息,请参见最终二进制提供程序.
有关重试提供程序的详细信息,请参见重试二进制提供程序.
Azure Blob存储集群V1二进制提供程序
这是用于的设置Azure Blob存储.它基于分片和同步集群文件系统的动态提供者逻辑。
在使用cluster-azure-blob-storage模板,将数据临时存储在每个节点的文件系统中最终二进制提供程序,然后传递到Azure Blob Storage以进行持久存储。
每个节点都有自己的本地文件存储库(就像在文件系统二进制提供程序),并通过动态分配的节点连接到所有其他集群节点远程二进制提供程序使用分片集群二进制提供程序..
Cluster-azure-blob-storage模板配置
因为必须配置azure-blob-storage提供特定于您帐户的参数(但可以将所有其他参数保留推荐值),如果您选择使用cluster-azure-blob-storage模板,你binarystore.xml
配置文件应该是这样的:
XXXXXX XXXXXX https:// .blob.core.windows.net/
模板里有什么?
而您不需要在binarystore.xml,这是什么cluster-azure-blob-storage模板下面是这样的:
< provider id="azure-blob-storage" type="azure-blob-storage"> < /提供者> < /提供者> < /链> < !——cluster最终Azure Blob存储服务默认链——> crossNetworkStrategy crossNetworkStrategy 2 1 remote local XXXXXX XXXXXX https:// .blob.core.windows.net/
cache-fs提供程序的详细信息请参见缓存文件系统二进制提供程序.
有关最终提供程序的详细信息,请参见最终二进制提供程序.
有关重试提供程序的详细信息,请参见重试二进制提供程序.
有关远程二进制提供程序的详细信息,请参见远程二进制提供程序.
关于sharding-cluster的详细信息请参见分片集群二进制提供程序.