2017-09-06 1 views
0

젠킨스 파일에 s3Upload을 사용하여 전체 파일이 아닌 여러 파일을 S3에 업로드 할 수 있습니까?젠킨스 파이프 라인에서 s3upload를 사용하여 여러 파일 업로드

s3Upload 기능을 사용하여 루트 디렉토리의 모든 rpm 파일 (*.rpm)을 S3에 업로드하려고 시도했습니다.

+0

그리고 ..? 어떻게 된 거예요? – StephenKing

+0

IIRC's3upload'는 하나의 파일이나 디렉토리 만 지원합니다. 그래서'findFiles ('*. rpm')'을 사용하여 파일을 반복하고 파일 당's3Upload'를 호출하거나 전체 디렉토리를 업로드하십시오. – StephenKing

+0

지금 바로 시도해보십시오 .. – rashidcmb

답변

3

findFiles가 문제를 해결했습니다. 아래는 똑같이 사용되는 스 니펫입니다.

files = findFiles(glob: '*.rpm') 

    files.each { 
     println "RPM: ${it}" 
     withAWS(credentials: '****************'){ 
     s3Upload(file:"${it}", bucket:'rpm-repo', path:"${bucket_path}") 
     } 
    } 
0

AWS s3 documentation 링크를 참조하십시오. '필터 제외 및 포함 사용'을 참조하십시오.

다음은 특정 유형의 여러 파일을 업로드하는 방법입니다.

특정 확장명의 파일 만 업로드하려면 먼저 모든 파일을 제외 한 다음 특정 확장명의 파일을 다시 포함해야합니다. 이 명령은 .JPG로 끝나는 파일 만 업로드 :

aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude "*" --include "*.jpg" 

이 AWS 명령 줄 인터페이스 작동합니다.

+0

이 답변은'aws' CLI를 대상으로합니다. OP가 Pipeline AWS Plugin의 단계라고 가정합니다. – StephenKing

+0

@StephenKing이 옳습니다. s3Upload는 Jenkins 파이프 라인 단계입니다. – rashidcmb

+0

[link] (https://jenkins.io/doc/pipeline/steps/pipeline-aws/)에있는 공식 문서에 따라 s3Upload는 개별 파일 업로드 또는 전체 디렉토리 (모든 하위 폴더 포함) 업로드를 지원합니다.). 그래서 나는 이것을위한 대안을 제시하려고 노력했다. –

관련 문제