젠킨스(Jenkins)에서 S3에 아티팩트를 업로드하는 방법은 무엇인가요?
_____A: 젠킨스에서 빌드 아티팩트를 S3에 업로드하려면 다음 단계를 따라 설정할 수 있습니다.
1. AWS CLI 설치 및 구성
- 젠킨스 빌드 에이전트 또는 마스터 서버에 AWS CLI가 설치되어 있어야 합니다.
- AWS CLI 설치 후 `aws configure` 명령어로 액세스 키와 시크릿 키를 설정합니다.
- 권한은 S3 버킷에 쓰기 권한이 포함된 IAM 사용자 권한을 갖고 있어야 합니다.
2. 젠킨스 S3 플러그인 설치 (선택사항)
- 젠킨스 관리 > 플러그인 관리에서 ‘S3 Plugin’을 설치할 수 있습니다.
- 이 플러그인은 빌드 후 후속 작업(Post-build Actions)으로 아티팩트를 S3에 업로드할 수 있도록 지원합니다.
- 플러그인 설치 후, ‘Post-build Actions’에서 ‘Publish artifacts to S3 Bucket’을 추가하고 버킷 이름, 경로, 업로드할 파일(예: ` /*.zip`)을 지정합니다.
- AWS 자격 증명은 ‘Credentials’에 IAM 사용자 키를 저장해 연결합니다.
3. 쉘 스크립트로 AWS CLI 직접 사용 (대안)
- 빌드 스크립트 내에서 AWS CLI 명령어를 사용해 아티팩트를 업로드 가능
- 예시:
```
aws s3 cp /path/to/artifact.zip s3://your-bucket-name/path/in/bucket/ --acl bucket-owner-full-control
```
- 환경 변수로 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION을 설정하거나 IAM 역할을 사용합니다.
4. 젠킨스 파이프라인 스크립트에서 업로드하기
- 예:
```
pipeline {
agent any
stages {
stage('Build') {
steps {
// 빌드 스크립트 실행
}
}
stage('Upload to S3') {
steps {
withAWS(credentials:'aws-credentials-id', region:'us-east-1') {
s3Upload(bucket:'your-bucket-name', path:'builds/', file:'artifact.zip')
}
}
}
}
}
```
- `withAWS` 및 `s3Upload`는 AWS 플러그인과 S3 플러그인 설치 후 사용 가능
요약: 젠킨스에서 S3 업로드는 AWS CLI 직접 사용하거나, 젠킨스 AWS/S3 플러그인을 통해 간단하게 설정할 수 있습니다. 빌드 후 작업 또는 파이프라인 스크립트에서 아티팩트 업로드 명령을 추가해 자동화하세요.
아래는 Jenkins에서 S3에 아티팩트를 업로드하는 단계별 가이드입니다.
1. Jenkins S3 플러그인 설치 1. Jenkins 대시보드 에 로그인합니다.
2. 좌측 메뉴에서 Manage Jenkins 를 클릭합니다.
3. Manage Plugins 를 선택합니다.
4. Available 탭에서 `Amazon S3`를 검색합니다.
5. 해당 플러그인을 선택하고 Install without restart 버튼을 클릭하여 설치합니다.
2. AWS IAM 사용자 생성 및 권한 설정 1. AWS 관리 콘솔에 로그인합니다.
2. IAM 서비스로 이동하여 새로운 사용자를 생성합니다.
3. 사용자가 프로그램적 접근 을 선택하도록 설정합니다.
4. S3에 업로드할 수 있도록 `AmazonS3FullAccess` 또는 필요한 권한을 가진 정책을 부여합니다.
5. 액세스 키와 비밀 액세스 키를 저장합니다.
3. Jenkins에 AWS 자격 증명 추가 1. Jenkins 대시보드에서 Manage Jenkins 를 클릭합니다.
2. Configure System 을 클릭합니다.
3. 하단으로 스크롤하여 Amazon S3 섹션을 찾습니다.
4. Add 를 클릭하여 AWS 자격 증명을 추가합니다.
- Access Key 와 Secret Key 를 입력합니다.
5. 입력 완료 후 Save 를 클릭합니다.
4. Jenkins Pipeline 또는 Freestyle Job 구성 Freestyle Job의 경우 1. 새 Freestyle project 를 생성하거나 기존 프로젝트를 수정합니다.
2. 빌드 섹션에서 원하는 빌드 스텝(예: Maven, Gradle)을 추가하여 아티팩트를 빌드합니다.
3. Post-build Actions 섹션으로 스크롤합니다.
4. Upload artifacts to S3 bucket 또는 Publish artifacts to S3 bucket 을 선택합니다.
5. S3 버킷 이름과 경로를 설정합니다.
6. 필요한 경우 추가 옵션을 설정하고 Save 를 클릭합니다.
Pipeline의 경우 1. 파이프라인 스크립트를 작성하여 S3에 아티팩트를 업로드할 수 있습니다.
```groovy pipeline { agent any stages { stage('Build') { steps { // 빌드 스크립트 sh 'mvn clean package' } } stage('Upload to S3') { steps { script { def s3Bucket = 'your-s3-bucket-name' def artifactPath = 'path/to/your/artifact.jar' // S3에 아티팩트 업로드 s3Upload(bucket: s3Bucket, file: artifactPath, path: artifactPath) } } } } } ```
5. Jenkins Job 실행 1. 설정이 완료된 후 Jenkins의 대시보드로 돌아가서 해당 Job을 선택합니다.
2. Build Now 버튼을 클릭하여 빌드를 실행합니다.
3. Job이 실행되면 아티팩트가 S3 버킷에 업로드되는 것을 확인할 수 있습니다.
이 프로세스를 통해 Jenkins에서 S3에 아티팩트를 쉽게 업로드할 수 있습니다.
추가적인 세부 설정이나 구성이 필요한 경우 AWS 문서나 Jenkins 플러그인 문서를 참조하는 것이 좋습니다.
작성자:
김현서 [비회원]
| 작성일자: 1년 전
2025-03-22 15:11:23
조회수: 195 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 195 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.