Local Development & CI/CD

Hey all!

I wanted to see how others here were handling CI/CD of their Strapi projects, specifically when it comes to handling the database aspect of the Strapi application via codebase.

In a Node.js environment, I have a NextJS codebase along with a Strapi codebase deployed.
They power multiple websites, each of which is run through a PM2 process with environment variables passed to the processes.
So essentially, I’m using a single Strapi codebase, but it’s running across multiple processes (multiple instances using the same codebase) with varying database configuration details.

The reason for this setup is that I’m looking to run multiple instances of Strapi but using the same codebase, which brings me to the actual question.

When I conduct development locally on the Strapi codebase, I’ll then deploy it to the environment, rebuild Strapi and restart Strapi.
I find that when I hit the URL of a particular Strapi instance, it seems to create/update the necessary database tables for any collections or components based on the changes it sees in the codebase. Essentially I’m looking for all of the Strapi instances running on that shared codebase to be able to update accordingly based on the updates made to the codebase.
For the most part, this seems to work, but there are certain changes when made that essentially causes issues in the database when those changes are made in the codebase and then deployed, versus being made through the Strapi UI, which doesn’t work within this system.

Is anyone here familiar with this architecture, and what are the things that need to be considered here, or are there any thoughts on some best practices for pushing updates to the codebase (specifically collections and components creation/update/deletion) and getting them to properly update the database across multiple Strapi instances.

Thank you, and happy to expand on the discussion is anyone has insights here to share, and the guidance is very much appreciated!

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