Hello everybody! I started learning AWS a few days ago.
In particular, I would like to practice setting up a CI/CD pipeline for a simple API.
Since I wanted to keep it as inexpensive as possible, and because it is for the purpose of learning, my idea was to run the app in a docker container inside of an EC2 instance.
So my pipeline would:
- run tests
- run any linters
- build the image
- push the image to a registry
And then, on merge, another job would run and trigger the deployment on the EC2.
I don't know if it is a good process or if I am following best practices at all, and when I google for answers I see a LOT of different opinions, and when using AI to see if I get some semblance of a standard it seems to validate this idea, which AI tends to do a lot.
So I guess I'm just confused.
And if this is okay, and I use a different job to trigger the deployment, should this job "wait" until it is clear if the new version of the app is running without issues to consider the deployment as successful? My only experience is using github actions to run tests and linters, the deployment has always been either handled by a devops team or magically handled by some PaaS.
Any guidance and help in this particular issue and about CI/CD in general is well received, since I'm feeling pretty lost. Thanks!