What is your build pipeline?

Hi there,

I have been looking for a better CI/CD pipeline for Serverless Architectures (AWS).

I would like a more “autonomous” and handsfree service where we send our code (with some extra config/YAML) and it comes up with a “Great, your code and integration looks great, go publishing!” or a “Phew, there are a few things that can be improved, check our report”… more like a COMPILER does to our code.

Provided we use the same stack (Typescript, CloudFormation or CDK, DynamoDB, SQS/SNS, API Gateway, etc) this pipeline would be the same for every project. I don’t want to spend time managing Jenkins and its configurations.

It could (considering a 100% Serverless Architecture):

  • Create an ephemeral (full) environment to deploy and test the whole system (Mocks could be standardized for external, non-serverless, services and DBs could be created from seeds)
  • Run unit, property, mutation, security, code quality, dependency, performance regression, licensing tests… maybe in parallel.
  • Save the deployable units so that the PO can deploy it with a push of a button.

I know there are several challenges to do such a thing, but in a Serverless Architecture on a particular Cloud Provider there are fewer variabilities to consider on this “magic pipeline”.

I have looked into Gitlab Auto DevOps, but it doesn’t seem to be quite there yet.

Do you guys have any suggestions or comments?