А в чём в твоём случае проблема с CI/CD?
Создаёшь два правила в Гитлабе:
1. При пуше в master всё катится на тестовый сервер, подменяется путь до базы, креденшлы и всё такое, активируются плагины, прогоняются тесты (если надо)
2. При навешии тега, например, rc.x.y.z идёт деплой на продакшн с аналогичным flow, но уже без тестов, например.