CodeBuild (AWS) от CodePipeline (AWS) не работает - PullRequest
12 голосов
/ 21 мая 2019

Я создал проект сборки кода из мастера конвейера кода со всеми необходимыми необходимыми параметрами и допустимой ролью IAM.Я также добавил политику ролей IAM, которая необходима для доступа и записи данных внутри корзины S3.нижеприведенная политика, которую я уже рассмотрел для доступа к S3.

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Resource": [
            "arn:aws:logs:aws/codebuild",
            "arn:aws:logs:aws/codebuild:*"
        ],
        "Action": [
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:PutLogEvents"
        ]
    },
    {
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::pipeline”,
            "arn:aws:s3::: pipeline/*"
        ],
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetBucketAcl",
            "s3:GetBucketLocation"
        ]
    }
]

}

Как только я инициировал конвейер, сборка кода завершается неудачно, и я получаю ниже упомянутую ошибку

DOWNLOAD_SOURCE Failed: 
CLIENT_ERROR: symlink /codebuild/output/.../libcrypto.1.0.0.dylib: no such file or directory for primary source and source version arn:aws:s3:::codepipeline-bucketSource/Ap4g3sv.zip

Я много исследовал, просматривал различные документы AWS, но не смог найти решение.

Ответы [ 2 ]

6 голосов
/ 27 мая 2019

Наконец, после долгих исследований, я обнаружил, что это только вопрос разрешения.Мне пришлось изменить политику, как указано ниже:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}

После добавления этой модификации моя сборка кода и конвейер начали работать.

3 голосов
/ 23 мая 2019

Похоже, ваша политика предоставляет доступ только к «конвейеру», но не к «codepipeline-bucketSource». Не могли бы вы попробовать предоставить S3 полный доступ к роли хотя бы на время, чтобы мы могли отладить, действительно ли это связано с доступом.

...