Amazon-Web-Services

由於“無法找到憑證”錯誤,無法在 Jenkins 中使用 AWS CLI

  • January 10, 2022

我正在使用 Jenkins 進行 CI。我需要能夠從 S3 儲存桶中提取文件。在 jenkins 工作中,我從 jenkins shell 進行以下診斷:

cd ~

這將我帶到 /var/lib/jenkins

whoami

這將返回使用者 jenkins

在 /var/lib/jenkins 我有我的 .aws 文件夾,其中包含配置和憑據文件,但是當我執行時

aws configure list

我明白了:

     Name                    Value             Type    Location
     ----                    -----             ----    --------
  profile                <not set>             None    None
access_key                <not set>             None    None
secret_key                <not set>             None    None
   region                <not set>             None    None

即使我有 .aws 文件夾和這兩個文件中的正確資訊,那裡什麼也沒有。我最初嘗試將 .aws 文件夾放在 /home/jenkins 中,但這也不起作用。

那麼,如何讓 jenkins 真正使用 aws cli?

您可以將憑據導出為環境變數:

$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_DEFAULT_REGION=us-west-2

有關更多資訊,請參閱http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html。根據您使用 Jenkins 的方式,您可能需要使用EvnInject 外掛

請在 jenkins 伺服器的 bash 中更新您的 aws 憑據。執行以下命令:

# sudo -su jenkins
# aws configure

參考連結:http ://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ami-jenkins.html

引用自:https://serverfault.com/questions/724730