CI CD for strapi app - two environments

I am trying to understand how to build a proper CI CD (devops) for my strapi app - maintaining two environments - dev and prod - two different databases but they can run in the same RDS instance
Can anyone help me what’s the best way or practice to achieve it, i am confused how a proper devops lifecycle of strapi app looks like, if multiple developers are working on the strapi app and push some content in the backend and thus things going into the dev db - how do you later decide or push only certain things into the prod environment from those things which have gone into dev database

This topic has been created from a Discord post (1292812771930406923) to give it more visibility.
It will be on Read-Only mode here.
Join the conversation on Discord

The recommended way of working is to move your code and configuration only upstream, from dev to staging to prod. And move your content only downstream, from prod to staging and to dev.

So you wouldn’t have any dev pushing content as you say. That will prevent conflicts of content.

As for the CI setup, it’s common practice to deploy to your test/staging environment when you push to your main branch, and deploy to production by creating a new release in github/gitlab.