CI/CD with Docker

Hi,

I have a couple of PHP projects (Osclass plugins, something like Joomla extensions) in which two developers work remotely. I need to configure GitLab CD in order to allow me see the results of they commits once they did them.

Separately, I have a Docker Compose project (using custom Docker images) with all the necessary to create the production server (pulling all the code from my repos).

Can I use the same Docker Compose project inside the gitlab-ci.yml file of each PHP project to recreate the production server or what is the best way (the correct way) to do that?

Later I want to create a testing container each time they do a commit so they can test the results by themselves before request the merge.

Do you know any specific documentation or an example repo where I can see how to do it?

Thanks in advance.