Ошибка при развертывании приложения Angular 7 на AWS S3 с использованием кодовой линии - PullRequest
1 голос
/ 29 июня 2019

Я хочу развернуть приложение Angular 7 (как статический веб-сайт) на S3 автоматически с использованием конвейера кода AWS. Я создал приложение Angular и отправил его в git-репо. Я создал новое ведро AWS S3, создал AWS Codepipline и интегрированный git repo

Я получаю ошибку ниже, когда aws code-pipelineb создает приложение: COMMAND_EXECUTION_ERROR: Ошибка при выполнении команды: ng build. Причина: статус выхода 1

enter image description here

Я использую файл buildspect.yml

version: 0.2

env:
    variables:
        S3_BUCKET: "<bucket name>"
        BUILD_ENV : "prod"

phases:
    install:
        runtime-versions:
            nodejs: 10
        commands:
            # install dependencies
            - echo Installng source NPM dependencies...
            - npm install npm@latest -g
            - npm install -g @angular/cli

    pre_build:
        commands:
            - echo Prebuild steps
            - npm install

    build:
        commands:
            # Builds Angular application. You can also build using custom environment here like mock or staging
            - echo Build started on `date`
            - ng build

    post_build:
        commands:
            # Clear S3 bucket.
            - aws s3 rm s3://${S3_BUCKET} --recursive
            - echo S3 bucket is cleared.
            # Copy dist folder to S3 bucket, As of Angular 6, builds are stored inside an app folder in distribution and not at the root of the dist folder
            - aws s3 cp dist s3://${S3_BUCKET} --recursive
            - echo Build completed on `date`

artifacts:
    files:
        - '/'
    discard-paths: yes
    base-directory: 'dist*'

Мне кажется, что среда сборки кода настроена неправильно. Я имею ввиду, что Nodejs и npm установлены неправильно. Пожалуйста, пройдите выше файл yml и помогите мне определить, что я что-то упустил.

1 Ответ

1 голос
/ 12 июля 2019

В вашем файле Buildspec.yml отсутствует среда сборки.

Добавьте этот фрагмент и проверьте, поможет ли это -

build:
    commands:
        # Builds Angular application. You can also build using custom environment here like mock or staging
        - echo Build started on `date`
        - ng build --${BUILD_ENV}

Это прекрасно работает для меня!

...