Jenkins 服务器-尝试运行 AWS cli 脚本-出现错误

Jenkins 服务器-尝试运行 AWS cli 脚本-出现错误

我在安装了 AWS CLI 的 Windows 服务器上运行 Jenkins 服务器。尝试通过 Jenkins 作业运行脚本时出现以下错误:

“您必须指定一个区域。您还可以通过运行“aws configure”来配置您的区域。”

AWS cli 已配置(手动运行脚本 - 一切正常)

脚本:aws ec2 run-instances --image-id ami-12345 --count 1 --instance-type m4.large --key-name my-key --security-groups defaultSG

(如果我添加 --region,我会得到:“无法找到凭证”)

谢谢 !

答案1

这个问题已经很老了,所以我想答案与 OP 不再相关,但它可能会对其他人有所帮助。

为了使用 AWS-CLI,您需要首先在 AWS IAM 服务中创建一对“aws_access_key_id”和“aws_secret_access_key”,方法是在那里找到用户,选择它,然后选择“安全凭证”和“创建访问密钥”。

请将它们都记下来,因为您将无法再次显示“aws_secret_access_key”。

然后,在您打算使用 AWS CLI 的机器上,假设您已经安装了它......

找到正在运行 Jenkins 进程的用户,使用 sudo 登录并运行:

aws configure

然后,在第一个问题中提供生成的“aws_access_key_id”,在第二个问题中提供生成的“aws_secret_access_key”,跳过下一个问题或输入“json”,然后在最后一个问题中插入大多数服务器所在的区域代码,例如“us-east-1”。

答案2

尝试添加--region <your-region-name>选项。

例如

aws ec2 run-instances --region your-region-name --image-id ami-12345 --count 1 --instance-type m4.large --key-name my-key --security-groups defaultSG 

答案3

查找您已配置的用户awscli以及正在运行的用户jenkins。如果两个用户不同,请更改。在 Windows 中,转到服务,选择 jenkins 并更改用户。在 Linux 中,检查正在运行 jenkins 的 pid,并搜索谁拥有该 pid /etc/passwd,然后检查您在哪个用户上配置了 awscli,或者在运行 jenkins 的用户上配置 awscli。我遇到了同样的问题,我解决了这个问题,希望它能有所帮助。

相关内容