I would like prepare my old project to work wiith separate environments, e.g. for Development, Staging and Productions. I would like hear about your experience or listen your suggestion.
Project is hosted on Github and CI/CD will be running by Github Actions.
I would like prepare 3 stages:
debug = true, with API keys for sandboxes, database migrations, database seeds and unit, integration and e2e tests;
debug = false, with API keys for sandboxes, database seeds and unit, integration and e2e tests;
debug = false, with target API keys and database migrations.
I prepare sepearate workflows on Github: staging.yaml and production.yaml.
Of course, it’s not necessary for works on development stage. Also I use Deployer for running commands, but it’s not that relevant for this thread.
step: build - build docker environment (or pull and push) - run docker - build app (e.g. install vendors) - unit tests - integration tests - export build app as artifacts step: prepare server (e.g. droplet on DigitalOcean) - unzpi artifacts - build docker enviroment with e.g. database - run docker - install vendors - database seeds step: tests - run e2e tests step: publish - set subdomain (or domain) to docker environment
step: build - build docker environment (or pull and push) - run docker - build app - export build app as artifacts step: connect to existing server (e.g. droplet on DigitalOcean) - make new dir in releases/ directory - unzpi artifacts to newest directory in releases/ directory - run docker (or no) - database migrations - symlink direcotry (used as DOCUMENT_ROOT) do newest directory in releases/ directory step: publish - just set success message
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Click below to sign up and get $200 of credit to try our products over 60 days!