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