"자격 증명을 찾을 수 없습니다" 오류로 인해 Jenkins에서 AWS CLI를 사용할 수 없습니다.

"자격 증명을 찾을 수 없습니다" 오류로 인해 Jenkins에서 AWS CLI를 사용할 수 없습니다.

CI에 Jenkins를 사용하고 있습니다. S3 버킷에서 파일을 가져올 수 있어야 합니다. Jenkins 작업 내에서 Jenkins 셸에서 다음 진단을 수행합니다.

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에서 작동하도록 하려면 어떻게 해야 할까요?

답변1

자격 증명을 환경 변수로 내보낼 수 있습니다.

$ 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 플러그인

답변2

이 방법은 나에게 효과적이었습니다.

  1. .aws라는 디렉터리를 만듭니다 /var/lib/jenkins. (또는 "awsconfigure" 명령을 통해 이미 aws 자격 증명을 구성한 경우 홈 디렉터리에서 .aws 폴더를 복사합니다.)
  2. 그런 다음 아래로 이동하여 .aws 디렉터리에 있는 파일의 소유자 변경을 /var/lib/jenkins/.aws작성하세요 sudo shown -R jenkins ./.

답변3

Jenkins 서버의 bash 내에서 AWS 자격 증명을 업데이트해 주세요. 아래 명령을 실행하십시오.

# sudo -su jenkins
# aws configure

참조 링크:http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ami-jenkins.html

답변4

인스턴스 역할을 사용하는 동안 회사 네트워크 내에서 이 문제가 발생하는 경우 프록시 설정이 올바른지 확인하십시오.

관련 정보