Buildspec.yaml für serverloses Framework in aws Code Pipleline

Sep 17 2020

Ich versuche mich an der CI / CD-Pipeline für ein serverloses Framework.

Ich hatte etwas Ähnliches für das SAM-Framework getan und es zum Laufen gebracht. Das SAM-Framework besteht aus zwei Schritten: Paketieren und Bereitstellen (die Bereitstellung erfolgt über Cloudformation-Aktionen).

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

Aber ich bin mir nicht so sicher, wie serverlos funktionieren soll. Ich weiß, dass Serverless nur die Bereitstellungsphase und kein Paket und alles hatte.

Ich weiß nicht, wie die Bereitstellung hier in CI / CD für Serverless gehandhabt wird. Dies gibt einen Fehler beim serverlosen Bereitstellungsbefehl aus.

Hier ist meine buildspec.yaml-Datei

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

welches versucht, diese Vorlage bereitzustellen:

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

Könnte mir jemand beim Erstellen und Bereitstellen eines Teils davon helfen?

Antworten

1 Marcin Sep 17 2020 at 18:41

Basierend auf den Kommentaren und der Chat-Diskussion.

Es gab einige Probleme, die Probleme verursachten:

  1. Vermisst serverless.yml. Es wurde durch Umbenennen template.ymlin gelöst serverless.yml.
  2. Falsches Profil im Serverless Provider. Es wurde durch Entfernen behoben.
  3. Fehlende Berechtigung in der CodeBuild-Rolle. Dies wurde durch Hinzufügen von Berechtigungen für Codeformationen, S3- und Cloudwatch-Protokolle zur Rolle behoben.