Как настроить шаблон AWS Codestar / Cloudformation для создания конкретного проекта Codebuild? - PullRequest
0 голосов
/ 09 февраля 2019

Как настроить шаблон AWS Codestar / Cloudformation для создания конкретного проекта Codebuild

Ресурсы, такие как лямбда, в порядке, SAM> Шаблон проекта Codestar работает нормально

Проблема в том, что я пытаюсь добавитьНастройки CodeBuild с определенным образом докера (необходимо использовать Python 3.7 вместо 2.7 по умолчанию). Использование Yaml для template.yml + buildspec.yml

    AWSTemplateFormatVersion: 2010-09-09
    Transform:
    - AWS::Serverless-2016-10-31
    - AWS::CodeStar

    Parameters:
      ProjectId:
        Type: String
        Description: CodeStar projectId used to associate new resources to team members
    Resources:
      HelloWorld:
        Type: AWS::Serverless::Function
        Properties:
          Handler: index.lambda_handler
          Runtime: python3.7
          Layers:
          - arn:aws:lxxxxxxxxxxxxxxxxxxxxxx:1
          Role:
          - arn:aws:iam::xxxxxxxxxxxxxxxxxxxxxx

      CodeBuildProject:
        Type: AWS::CodeBuild::Project
        Properties:
          Description: Codebuild project Validate Packer Template
          Artifacts:
            Type: CODEPIPELINE
          Environment:
            Type: LINUX_CONTAINER
            ComputeType: BUILD_GENERAL1_SMALL
            Image: aws/codebuild/python:3.7.1
        Source:
          Type: CODEPIPELINE
        TimeoutInMinutes: 1

Лямбда создается успешно, но разделы Codebuild игнорируются и ничего не происходит

РЕДАКТИРОВАТЬ 2 Мне удалось отредактировать шаблон CF для принудительного создания другого проекта CodeBuild. К сожалению, он функционирует как совершенно отдельный компонент

Из документов представляется, что можно изменить ресурсы послесоздание, предполагаемое изменение набора изменений CF deploy.

Но как быть с изменениями конвейера с помощью кода после использования шаблона по умолчанию (sam + Python)?Есть ли способ перезаписать код enbu (изменить образ докера) в пипилине в CodeStar?Через COnsole, конечно, вы можете изменить и обновить что угодно + перезаписать.Но в документации ничего не говорится о том, как это сделать с помощью файлов template.yml / template.json

1 Ответ

0 голосов
/ 11 февраля 2019

Из того, что я обнаружил, есть несколько слоев компонентов. Когда вы создаете проект Codestar через Консоль, вы выбираете шаблон по умолчанию.Это то, что вам нужно отредактировать, чтобы изменить базовый CodePupeline

. Я нашел обходной путь: создание проекта через CLI. Таким образом, вы можете использовать toolchain.yml (также возможно редактирование через консоль, что противоречитПринцип IAC) и отредактируйте его, чтобы получить необходимый пользовательский конвейер любого вида

...