AWS Snippet - AWS CodeDeploy와 Jenkins 연동

1. Jenkins 플러그인 설치

  • Jenkins 플러그인 중 AWS CodeDeploy Plugin for Jenkins 플러그인을 설치

2. Jenkins 구성 설정

  • 빌드 후 조치 Deploy an application to AWS CodeDeploy 추가 및 아래와 같이 설정

aws-jenkins1

3. AWS 정책 설정

  • IAM codedeploy 정책 설정
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:RegisterApplicationRevision",
                "codedeploy:GetApplicationRevision"
            ],
            "Resource": [
                "arn:aws:codedeploy:리전:계정ID:application:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:ListApplications"
            ],
            "Resource": [
                "arn:aws:codedeploy:리전:계정ID:application:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:ListDeploymentGroups"
            ],
            "Resource": [
                "arn:aws:codedeploy:리전:계정ID:application:*",
                "arn:aws:codedeploy:리전:계정ID:deploymentgroup:*/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:CreateDeployment",
                "codedeploy:GetDeployment"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:GetDeploymentConfig"
            ],
            "Resource": [
                "arn:aws:codedeploy:리전:계정ID:deploymentconfig:CodeDeployDefault.OneAtATime",
                "arn:aws:codedeploy:리전:계정ID:deploymentconfig:CodeDeployDefault.HalfAtATime",
                "arn:aws:codedeploy:리전:계정ID:deploymentconfig:CodeDeployDefault.AllAtOnce"
            ]
        }
    ]
}