본문 바로가기
[AWS-FRF]/CICD

[중요2][AWS][JENKINS] HOW TO PUSH WAR FILE TO S3 BUCKET THROUGH JENKINS !! (젠킨스 S3 IAM 정책 설정 포함)

by METAVERSE STORY 2024. 9. 19.
반응형
728x170

 

 

## 톰캣 재시작
- sh shutdown.sh
- sh startup.sh

 

## 젠킨스 플러그인 설치
- github

 

 

 

## 프로젝트 생성
- 빌드시 성공

 

 

 

## Maven 설정
- Manage Jenkins ==> Global Tool Configuration ==> Maven

 

 

 

## 프로젝트 추가 설정
- maven3 선택
- package

 

- 빌드시 성공

 

 

## 젠킨스 Plugin Manager ==> S3 publisher 설치 (S3 업로드용)

 

 

## 젠킨스 Configure System ==> Amazon S3 profiles 이동 및 설정

 

 

 

- S3 버킷 생성 (차단 설정)

 

- S3용 액세스/시크릿키 생성

 

 

 

## 프로젝트 추가 설정 (Post-build action)
- Publish artifacts to S3 Bucket 선택

 

 

 

## 젠킨스 재빌드
- S3 해당버킷 - target - war 파일 생성

 

 

 

 

 

https://www.youtube.com/watch?v=bLZTipLH-1k

 

 

 

 

 

===============================================

## 젠킨스 S3 - IAM 정책 설정 포함

## IAM 정책 설정시  "s3:ListAllMyBuckets" 권한없으면 젠킨스에서 에러 발생

- 젠킨스 에러명 : 
s3:ListAllMyBuckets because no identity-based policy allows the s3:ListAllMyBuckets action (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied;

 

## IAM정책 생성 : dev-XXX-XXX-deploy-policy

{
  "Statement": [
    {
      "Action": [
        "s3:ListAllMyBuckets"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::*"
    },
    {
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::my-artifact-bucket", "arn:aws:s3:::my-artifact-bucket/*"]
    }
  ]
}

 

---------------------------------------------
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::s3-an2-XXX-dev-XXX-jar",
                "arn:aws:s3:::s3-an2-XXX-dev-XXX-jar/*"
            ]
        }
    ]
}
---------------------------------------------

 

 

 

반응형
그리드형

댓글