DEV Community

Discussion on: How do you manage deployment configs? (Especially large scale cloud agnostic ones)

Collapse
 
yaser profile image
Yaser Al-Najjar • Edited

Firstly, I have not done a large scale deployment, but that's how we deploy our multi-images app to production and staging servers using:
Docker images + AWS ElasticBeanstalk.

Can you make the deployment automated (from your local machine)?
Like writing a script in Python or any other lang (preferably Bash)?

If so, you can use gitlab with env vars to control the deployment flow (configure the deployment).

The gitlab runner will run our deployment script which deploys the new docker image into the staging server automatically (with every commit).
And into the production server on demand (when we click on gitlab job "run" button).

You can have multiple jobs that run in a parallel manner (say for different services).

  • Previously, we did the exact same way (different scripts) for bare metal servers deployment but we found AWS ElasticBeanstalk to be a much better option.
Collapse
 
david_j_eddy profile image
David J Eddy

Beanstalk is handy indeed. Love that you are able to leverage GitLab runners for parallel execution!