我正在使用Saltstack状态脚本从BitBucket创建一个jar,并将其上传到Artifactory。上传到Artifactory时,我看到授权错误。我不确定这是否是实现上传到Artifactory的正确方法。
我尝试使用CURL实现上传。我需要在CURL命令中提供-u myUser:myPassword
才能正常工作。我无法在盐状态脚本中提供凭据。我正在寻找一个更好的选项来实现不使用登录凭据的上传。如何使用Saltstack将工件上传到工件?
curl -X PUT -T /tmp/Batch.jar http://artifactory/artifactory/Batch.jar
错误: 标准输出:
{
\"errors\" : [ {
\"status\" : 401,
\"message\" : \"Unauthorized\"
} ]
}
答案 0 :(得分:0)
根据Artifactory documentation,REST API支持以下形式的身份验证:
X-JFrog-Art-Api
)。Authorization: Bearer
)和您的访问令牌。您将不得不选择以上之一。
答案 1 :(得分:0)
我已经遇到过几次这样的事情。最简单的解决方案是编写一个小的Salt执行模块来完成这项工作。这样,您可以将人工凭证存储为支柱数据,并使用常规的python请求或salt http帮助程序进行Web请求。
像盐堆一样,它提供了一个用于人工制品的模块:https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.artifactory.html
它可能无法完全满足您的要求,但是您可以肯定地扩展它:https://github.com/saltstack/salt/blob/develop/salt/modules/artifactory.py
用于编写执行模块的saltstack文档可以在这里: https://docs.saltstack.com/en/latest/ref/modules/