
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
이 방법은 나에게 효과적이었습니다.
- .aws라는 디렉터리를 만듭니다
/var/lib/jenkins
. (또는 "awsconfigure" 명령을 통해 이미 aws 자격 증명을 구성한 경우 홈 디렉터리에서 .aws 폴더를 복사합니다.) - 그런 다음 아래로 이동하여 .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
인스턴스 역할을 사용하는 동안 회사 네트워크 내에서 이 문제가 발생하는 경우 프록시 설정이 올바른지 확인하십시오.