Codedeploy를 사용해서 배포를 좀 해보고 있습니다.

귀찮은게 푸시하면 웹훅을 자동으로 날려주는게 아니고 deployment를 직접 만들어야 합니다.

- name: Trigger the CodeDeploy in EC2 instance
  run: |
    aws \
      deploy \
        --region ap-northeast-2 \
      create-deployment \
        --application-name APPLICATION_NAME \
        --deployment-config-name CodeDeployDefault.OneAtATime \
        --deployment-group-name DEPLOYMENT_GROUP_NAME \
        --github-location repository=USER/REPOSITORY,commitId=${GITHUB_SHA

귀찮습니다.. 아무튼 github actions 워크플로에 위 스크립트를 추가했는데

 

잘 안보이네요;

An error occurred (AccessDeniedException) when calling the CreateDeployment operation:
User: arn:aws:iam::***:user/*** is not authorized to perform: codedeploy:CreateDeployment on resource ...

이 유저에 codedeploy:CreateDeployment 하는 권한이 없다고 하네요

 

IAM에서 해당 유저로 가서 "AWSCodeDeployFullAccess"를 추가해줍시다

 

Full access 주는게 찜찜하다면 이렇게 policy 하나만 딱 추가해도 됩니다 (CodeDeploy - Write - CreateDeployment)

근데 전 귀찮으니까 그냥 AWSCodeDeployFullAccess 퍼미션 추가했습니다. 문제 없겠죠 뭐

 

자 그러면 이렇게 Deployment가 생성된 걸 확인하실 수 있습니다.

Status가 Failed로 되어 있는건 무시해주세요. 스크립트 오류라서.. 배포랑은 관계 없습니다

후..... 자동화 정말 쉽지 않네요

반응형