我正在尝试运行python脚本,该脚本具有使用boto3 sdk访问s3的代码。我已经在Windows计算机中创建了默认配置文件。
我正在尝试通过詹金斯自动化。它失败并抱怨令牌无效。
为了进行测试,我在詹金斯工作中执行了以下命令。
aws sts get-caller-identity --debug
ClientError:调用GetCallerIdentity操作时发生错误(InvalidClientTokenId):请求中包含的安全令牌无效2019-06-17 18:09:06,513-MainThread-awscli.clidriver-DEBUG-使用rc 255退出
调用GetCallerIdentity操作时发生错误(InvalidClientTokenId):请求中包含的安全令牌无效生成步骤“执行Windows批处理命令”将生成标记为失败
我尝试了以下
注入AWS_SECRET_ACCESS_KEY,AWS_SESSION_TOKEN和AWS_ACCESS_KEY_ID,但没有成功。
在jenkins中添加了S3配置文件插件,并尝试了IAM角色选项以及提供访问令牌和密码的功能。
它不起作用。
我观察到jenkins正在系统用户上运行,但是我已经在窗口用户中创建了配置文件。这是问题吗?
问题是与运行jenkins的USERPROFILE有关。
未加载默认用户配置文件凭据,因为配置是针对本地用户而非系统用户完成的。
在SYSTEM USER Jenkins下添加.credentials效果很好。