powershell - Jfrog CLI 不遵守配置的 API key

标签 powershell artifactory jfrog-cli

我正在使用 Powershell DSC 设置 Windows Server 2012 R2 机器。作为配置过程的一部分,我正在配置 jfrog.exe 并作为服务帐户执行配置命令:

jfrog rt config --url=$localArtifactoryInstance --user=$username --apikey=$apikey

此命令按预期在服务帐户的主目录 (C:\Users\$serviceAccount.jfrog.jfrog-cli.conf) 中创建 .jfrog.jfrog-cli.conf,包含 URL/用户名/apiKey。

配置后,此服务帐户负责将 Artifactory 从一个存储库“提升”到另一个:

jfrog rt move '$devRepo/(Org)/(Org.Common.Configuration)/Org.Common.Configuration.1.0.0.nupkg' '$prodRepo/{1}/{2}/'

此命令被 401 拒绝:

[Error] Artifactory response: 401 Unauthorized
{
  "errors": [
    {
      "status": 401,
      "message": "Bad authentication. Provided username or password are incorrect."
    }
  ]
}

但是,当我将 已在 jfrog-cli.conf 中配置的相同 API key 添加到命令时:

jfrog rt move '$devRepo/(Org)/(Org.Common.Configuration)/Org.Common.Configuration.1.0.0.nupkg' '$prodRepo/{1}/{2}/' --ApiKey $apiKey

成功了,我可以通过 Artifactory UI 验证成功。

  • 执行命令的服务账户与执行jfrog rt config的服务账户相同,并且与jfrog-cli.conf中的用户名匹配。
  • API key 是在 Artifactory 中为该服务帐户生成的
  • 我已尝试更改 jfrog-cli.conf 中的用户名以包含和不包含域
  • 我已确保环境变量“HOME”存在并指向服务帐户的主目录(https://github.com/JFrogDev/jfrog-cli-go/blob/master/utils/ioutils/ioutils.go 似乎暗示此变量是必需的)
  • 'jfrog rt config show'显示正确的数据

感谢您提供的任何帮助或指导!

最佳答案

“401 Unauthorized”响应是同时配置用户名和 API key 的结果。

运行jfrog rt config 时,您可以提供用户名/密码对 API key 。配置用户名和 api key 后,我的命令失败,因为 jfrog.exe 使用用户名和没有密码联系服务器。

解决方案是从我的 Powershell DSC 配置中完全删除用户名,并在运行 jfrog rt config 时仅提供 urlapikey

关于powershell - Jfrog CLI 不遵守配置的 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42839002/

相关文章:

powershell - 在 Powershell 4 中压缩和解压缩文件

java - 我如何告诉 Maven 只在 Intranet Repository(Artifactoy) 中搜索而不在 Internet 中搜索

maven - 如何将带有依赖jar的第三方库部署到Repository

gradle - 为什么我的 gradle 构建没有加载最新的依赖项?

powershell - Powershell在搜索字符串后返回下一个单词

c# - 如何从引用另一个脚本的 C# 运行 Powershell 脚本

artifactory - 如何以编程方式知道 jfrog-cli 在下载时跳过已存在的文件或 Artifactory ?

jfrog-cli - 在 Linux 上使用 JFROG CLI 工具时获取 :"Artifactory response: 308 Permanent Redirect"

java - 使用 JFrog Artifactory 的 Maven 私有(private)内部存储库不会自动下载所需的插件

ruby-on-rails - 当powershell处于 'select'模式时,如何停止服务器卡住?