ARTIFACTORY:我应该如何切换到使用谷歌本地客户端?
为什么要切换到本机客户机?
不再维护JetS3t库。因此,这个模板在Artifactory中被弃用了。使用Google -storage-v2作为解决方案,它使用Google本地客户机。从google-storage到google-storage-v2之间的过渡应该是无缝的,因为两个提供商之间的大多数参数是相同的。
如何判断我使用的是哪个客户端?
文件存储配置文件位置:
- Artifactory 6。x→ $ARTIFACTORY_HOME/etc/binarystore.xml.
- Artifactory 7。x→ $JFROG_HOME/artifactory/var/etc/artifactory/binarystore.xml.
如果配置使用以下提供程序之一,这意味着已经使用了Google本机客户端。
- type = " google-storage-v2 "
- type = " cluster-google-storage-v2 "
为什么要放弃JetS3t库呢?
- 不推荐使用。上一次发布是在2015年。
- 问题越来越多,包括安全问题。
- 为了支持S3中可用的最新特性,在开发JetS3t时没有考虑到这些特性。
切换到v2:
更新文件后,Artifactory将重新启动这些更改,它将切换到使用Google本地客户机。
注意!如果您在Google - storage提供程序中使用了任何专用的JetS3t属性,那么新的Google本机客户端将不支持这些属性。
但是,请检查参数是否公开在文档中,如果是,请在“google-storage-v2”provider部分中设置它。
例如:
使用专用的JetS3t属性:
端点> < commondatastorage.googleapis.com > < /端点
< bucketName > BUCKET_NAME < / bucketName >
<属性名= " httpclient。最大连接“价值= " 300 " / >
<标识> XXXXXX > < /身份
<凭证> XXXXXX < /证书>
> < /供应商
转向google-storage-v2:在上面的例子中,没有定义useinstancecredals。
端点> < commondatastorage.googleapis.com > < /端点
< bucketName > BUCKET_NAME < / bucketName >
300年< maxConnections > < / maxConnections >
> < /供应商
因此,默认值将分配,假,和下面的流程身份验证解析顺序如下:
' useinstancecredals ' == false &&将creds文件保存在默认路径[arti_home_full_path]/etc/gcp.credentials.json下。
例子:
旧配置#1 -带有属性的“google-storage”
<配置版本=“v1”>
<链模板= " google storage " / >
端点> < commondatastorage.googleapis.com > < /端点
<路径> filestore > < /路径
< bucketName > BUCKET_NAME < / bucketName >
<标识> XXXXXX > < /身份
<凭证> XXXXXXX < /证书>
> < /供应商
< / config >
下面的示例使用第一种身份验证机制。' useinstancecredals ' == true &&设置“GOOGLE_APPLICATION_CREDENTIALS”环境变量
有关解析身份验证解析的其他方法,请使用下面的链接。
Google storage v2 -身份验证机制
先决条件:
- 创建服务帐户密钥→以json格式下载。
- 复制服务帐户。json到Artifactory实例。
- 导出路径到service- account。Json作为环境变量:
- 环境变量名称→GOOGLE_APPLICATION_CREDENTIALS
- 出口GOOGLE_APPLICATION_CREDENTIALS = '完整/道路/ / service-accunt.json
迁移配置#1 -带有属性的“google-storage-v2”:
<配置版本=“v2”>
<链模板= " google-storage-v2 " / >
端点> < commondatastorage.googleapis.com > < /端点
<路径> filestore > < /路径
< bucketName > BUCKET_NAME < / bucketName >
真正< bucketExists > < / bucketExists >
真正< useInstanceCredentials > < / useInstanceCredentials >
> < /供应商
< / config >
旧配置#2 -简单的“cluster-google-storage”:
<配置version = " 2 " >
<链模板= " cluster-google-storage " >
<提供者id = " sharding-cluster-eventual-google-storage "
type = " sharding-cluster " >
端点> < commondatastorage.googleapis.com > < /端点
<路径> filestore > < /路径
< bucketName > BUCKET_NAME < / bucketName >
<标识> XXXXXX > < /身份
<凭证> XXXXXXX < /证书>
> < /供应商
< / sub-provider >
> < /供应商
> < /供应商
< / >链
< / config >
迁移配置#2 -简单的“cluster-google-storage-2”:
<配置version = " 2 " >
<链模板= " cluster-google-storage-v2 " >
端点> < commondatastorage.googleapis.com > < /端点
<路径> filestore > < /路径
< bucketName > BUCKET_NAME < / bucketName >
真正< bucketExists > < / bucketExists >
真正< useInstanceCredentials > < / useInstanceCredentials >
> < /供应商
< / sub-provider >
> < /供应商
> < /供应商
< / >链
< / config >
