1. 개요
CodePipeline 사용 중 CodeDepoly 단계에서 오류가 발생하는 경우
2. 내용
2-1. 문제 상세
- CodeDeploy 단계에서 오류가 발생하였고 확인 결과 DownloadBundle 단계에서 문제가 생김
- CodeDeploy 단독으로 사용 시는 문제가 없음
2-2. 원인
CodePipleline을 태우면 Output artifact 위치가 CodeDeploy가 지정한 S3 위치(revision 가 아님
예를 들어,
- CodeDeploy 단독으로 사용시 내가 지정한 artifact 위치에 떨어짐 : s3://s3-..../myApp.war.zip
- CodePipeline을 태우면 artifact 위치가 바뀜 : s3://codepipeline-ap-..../myPipeline/MyAppBuild/gAWkv9c?etag=f19c4a3679f3426d1e1f977445e19f4f-3
결국 Deploy Taget, 예를 들어 EC2에서 해당 CodePipeline쪽 S3 권한이 없어서 오류가 발생한 것임
3. 해결책
EC2에 S3 access 권한 추가
"arn:aws:s3:::codepipeline*",
** 참고 : AWS-CodePipeline-Service (https://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/how-to-custom-role.html)
{ "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::codepipeline*", "arn:aws:s3:::elasticbeanstalk*" ], "Effect": "Allow" },