我在ec2上安装了jenkins,并且尝试运行aws cli命令以在jenkins作业的构建步骤中启动新实例。
我在ec2实例上具有正确的IAM角色,并且能够通过ssh进入该实例并运行启动实例cli命令而没有任何问题。
当我在jenkins作业中给出完全相同的cli命令时出现问题,并且失败并显示错误消息“找不到凭据”。
如果我将ssh插入ec2,但从jenkins(安装在同一ec2上)运行它时抛出404,则上面的curl可以正常工作。两种情况下,用户 webadm 是相同的。
有人可以告诉我为什么詹金斯(Jenkins)的工作不是自动承担IAM角色,而当我用腻子运行时事情还是可以解决的。
Jenkins构建步骤中的命令:
cd $HOME
curl http://169.254.169.254/latest/meta-data/iam/