Jenkins 파이프 라인에 AWS 자격 증명을 제공하는 방법은 무엇입니까?


10

jenkins 파이프 라인에 다음 구성이 있습니다.

s3Upload( file:'ok.txt', bucket:'my-buckeck', path:'file.txt')

문제는 s3Upload 기능이 jenkins에 저장된 AWS 액세스 키를 가져 오지 않습니다.

나는 다음 코드로 묶여있다.

    withAWS(profile:'Test Publisher') {
    s3Upload( file:'ok.txt', bucket:'my-buckeck', path:'file.txt')

}

s3 프로필

jenkins의 내 s3 프로필은 이와 같습니다. 여전히 프로필 파일을 가져 오는 중 오류를 찾을 수 없습니다. s3Upload 함수를 사용하여 jenkins에서 s3으로 파일을 업로드하는 방법은 무엇입니까?

답변:


8

S3에 업로드하려면 Jenkins의 환경 변수에 자격 증명을 저장해야합니다.

AWS_DEFAULT_REGION=<region of bucket>

AWS_ACCESS_KEY_ID=<aws id>

AWS_SECRET_ACCESS_KEY=<your s3 access key>

이를 위해서는 Jenkins-Jenkins 관리-시스템 구성-전역 속성-환경 변수로 이동하십시오.


4

S3 게시자 플러그인을 AWS 플러그인과 혼동했을 수 있습니다.

이 스크린 샷은 S3 게시자 플러그인 https://wiki.jenkins.io/display/JENKINS/S3+Plugin 에서 가져온 것 입니다. 최신 버전으로 업데이트하지 말라는 경고가 있습니다. 파이프 라인의 호환성이 손상된 것 같습니다. "버전 0.10.11 (2016 년 12 월 31 일)-업데이트하지 않음-파이프 라인 스크립트의 이전 버전과의 호환성이 손상되었습니다"라는 경고가 표시됩니다.

그러나 파이프 라인 코드는 Jenkins AWS 플러그인 용인 것 같습니다. https://github.com/jenkinsci/pipeline-aws-plugin . 해당 플러그인에서 신임 정보를 사용하려면 다음 중 하나를 수행해야합니다.

  1. Jenkins 자격 증명 저장소의 저장소 액세스 키, 비밀 키.
  2. Jenkins의 AWS 구성 파일에서 읽습니다.

이 옵션은 플러그인 README https://github.com/jenkinsci/pipeline-aws-plugin에 설명되어 있습니다.

Use Jenkins UsernamePassword credentials information (Username: AccessKeyId, Password: SecretAccessKey):    
withAWS(credentials:'nameOfSystemCredentials') {
    // do something
}

Use profile information from ~/.aws/config:
withAWS(profile:'myProfile') {
    // do something
}

"profile"은 AWS 구성 파일의 프로파일 섹션입니다. http://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html

그런 다음 S3 업로드 기능을 사용할 수 있습니다. https://github.com/jenkinsci/pipeline-aws-plugin#s3upload


withAWS단계를 사용하고 있으며 이름 accesskey과 ID 가있는 AWS 자격 증명이 jenkins있습니다. 내가이 예외를 계속 withAWS(credentials:'jenkins')또는 그대로 호출 할 때 withAWS(credentials:'accesskey'). 자격 증명은 Jenkins mgmt 콘솔에 따라 좋아 보입니다 (최근에 최근에 성공적으로 사용되었다는 로그가 있습니다). 무엇을 놓칠 수 있습니까?
scorpiodawg

1
@ scorpiodawg 귀하의 질문은 원본과 약간 다릅니다. 최대한 많은 정보로 새로운 질문을 시작할 수 있습니까?
Mike Marseglia

나는 여기에 이것을 물었다 : serverfault.com/questions/958350/… @ mike-marseglia
scorpiodawg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.