#amazon-web-services #serverless-framework #aws-codepipeline #aws-code-deploy #aws-codebuild
#amazon-веб-сервисы #бессерверная платформа #aws-codepipeline #aws-code-deploy #aws-codebuild
Вопрос:
Я пробую свои силы в конвейере CI / CD для бессерверной платформы.
Я сделал аналогичную вещь для SAM framework и заставил ее работать. Платформа SAM состоит из двух этапов упаковки и развертывания (развертывание выполняется с помощью действий cloudformation).
version: 0.2
phases:
install:
runtime-versions:
nodejs: 10
#trying after adding the art effect in code deploy
build:
commands:
- npm install time
- export BUCKET=lambda-loadeo-git
- aws cloudformation package --template-file template.yml --s3-bucket $BUCKET --output-template-file outputtemplate.yml
artifacts:
type: zip
files:
- template.yml
- outputtemplate.yml
Но я не совсем уверен, как должен работать бессерверный.
Я знаю, что без сервера была только стадия «развертывания», а не пакет и все.
Я не знаю, как выполняется развертывание здесь, в CI / CD для бессерверной платформы. который выдает ошибку при команде развертывания без сервера.
Вот мой файл buildspec.yaml
version: 0.1
phases:
install:
commands:
- npm install
- npm install -g mocha
- npm install -g serverless
build:
commands:
- serverless deploy
post_build:
commands:
- echo build complete
который пытается развернуть этот шаблон:
service: serverless
frameworkVersion: '2'
provider:
name: aws
runtime: python2.7
profile: default
functions:
getInfo:
handler: handler.getInfo
events:
- http:
path: users/info
method: get
createInfo:
handler: handlerpost.createInfo
events:
- http:
path: users/create
method: post
patchInfo:
handler: handlerpatch.patchInfo
events:
- http:
path: users/update
method: patch
Может ли кто-нибудь помочь мне со сборкой и развертыванием этой части?
Комментарии:
1. Не могли бы вы уточнить, какую именно ошибку вы получаете, когда пишете «которая выдает ошибку при команде развертывания без сервера». и какая строка ее выдает?
2. @Marcin. Код состояния контекста фазы: Сообщение COMMAND_EXECUTION_ERROR: ошибка при выполнении команды: развертывание без сервера. Причина: статус выхода 1
3. @Marcin отредактировал вопрос с выводом
4. Привет. Насколько я помню, вы не можете использовать поставщика CodePipline для CodeDeploy в вашем регионе. Я думаю, что если не CB, то можно было бы использовать lambda. Вы можете создать новый вопрос с любым имеющимся у вас кодом для этого или ошибками. Таким образом, другие пользователи SO также могут просмотреть его и попытаться помочь.
5. К сожалению, я мало использую Cognito, поэтому не могу с этим сильно помочь.
Ответ №1:
На основе комментариев и обсуждения в чате.
Было несколько проблем, вызывающих проблемы:
- Отсутствует
serverless.yml
. Проблема была решена путем переименованияtemplate.yml
вserverless.yml
. - Неправильный профиль в бессерверном провайдере. Проблема была устранена путем ее удаления.
- Отсутствует разрешение в роли CodeBuild. Это было исправлено путем добавления к роли разрешений codeformation, s3 и cloudwatch logs.