젠킨스 파일에 s3Upload
을 사용하여 전체 파일이 아닌 여러 파일을 S3에 업로드 할 수 있습니까?젠킨스 파이프 라인에서 s3upload를 사용하여 여러 파일 업로드
s3Upload
기능을 사용하여 루트 디렉토리의 모든 rpm 파일 (*.rpm
)을 S3에 업로드하려고 시도했습니다.
젠킨스 파일에 s3Upload
을 사용하여 전체 파일이 아닌 여러 파일을 S3에 업로드 할 수 있습니까?젠킨스 파이프 라인에서 s3upload를 사용하여 여러 파일 업로드
s3Upload
기능을 사용하여 루트 디렉토리의 모든 rpm 파일 (*.rpm
)을 S3에 업로드하려고 시도했습니다.
findFiles가 문제를 해결했습니다. 아래는 똑같이 사용되는 스 니펫입니다.
files = findFiles(glob: '*.rpm')
files.each {
println "RPM: ${it}"
withAWS(credentials: '****************'){
s3Upload(file:"${it}", bucket:'rpm-repo', path:"${bucket_path}")
}
}
AWS s3 documentation 링크를 참조하십시오. '필터 제외 및 포함 사용'을 참조하십시오.
다음은 특정 유형의 여러 파일을 업로드하는 방법입니다.
특정 확장명의 파일 만 업로드하려면 먼저 모든 파일을 제외 한 다음 특정 확장명의 파일을 다시 포함해야합니다. 이 명령은 .JPG로 끝나는 파일 만 업로드 :
aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude "*" --include "*.jpg"
이 AWS 명령 줄 인터페이스 작동합니다.
이 답변은'aws' CLI를 대상으로합니다. OP가 Pipeline AWS Plugin의 단계라고 가정합니다. – StephenKing
@StephenKing이 옳습니다. s3Upload는 Jenkins 파이프 라인 단계입니다. – rashidcmb
[link] (https://jenkins.io/doc/pipeline/steps/pipeline-aws/)에있는 공식 문서에 따라 s3Upload는 개별 파일 업로드 또는 전체 디렉토리 (모든 하위 폴더 포함) 업로드를 지원합니다.). 그래서 나는 이것을위한 대안을 제시하려고 노력했다. –
그리고 ..? 어떻게 된 거예요? – StephenKing
IIRC's3upload'는 하나의 파일이나 디렉토리 만 지원합니다. 그래서'findFiles ('*. rpm')'을 사용하여 파일을 반복하고 파일 당's3Upload'를 호출하거나 전체 디렉토리를 업로드하십시오. – StephenKing
지금 바로 시도해보십시오 .. – rashidcmb