So, let's have a quick chat about CI/CD and #serverless.
This will be more "overview" than in depth (it's twitter after all)
*and there are 2 types of CD
When multiple developers are working on one project, at some point they have to come together and combine their efforts...
...therefore Integration
And that happens continuously over a project
Generally this is integration also runs automated tests to check whether what a developer has added passes those tests
Let's do Delivery first
Basically it's Continuous Integration (CI) + automatic deployment to a staging environment of some sort.
There is then a manual step to deploy into production
In other words, if you're doing Continuous *Deployment* if you make a change to the codebase it is integrated, tested and if it passes tests, deployed.
Why?
Because #serverless relies on other services. Constantly mocking/testing these is hard. Easier to simply do it in cloud.
Integration happens via infrastructure as code, and into a single cloud account that the CI has access to.
In other words, it's a CI driven cloud account.
Every developer has a cloud account and uses infrastructure as code to develop their solution
...
Manually push to production once testing on staging complete
or automate push to production once automated staging tests are robust enough.
#serverless CI/CD
/THREAD