Can gitlab pages have different pages for each user in the same project?

I would like to have a pages url for each user whoever working on the project. Let’s say I have a project in the gitlab and 4 people working on it. So, These 4 people can make changes and do commits. Each user will have a gitlab CI yml file to build the job and create pages with static html code. This html page could be different for each user.

So, Every time when user commit changes a pipeline job should be executed and pages will be created for each user. That way each user can view their own changes.

ex: user1.pages.example.com , user2.pages.example.com, user3.pages.example.com

When I am working, I am doing multiple commits and each time pages are getting overridden by latest one.

Is there any chance to keep the old one also and create new pages url everytime(without domain and sub-domain concept) ?

In the gitlab pages document https://docs.gitlab.com/ee/user/project/pages/introduction.html, It is showing four types of pages .
What is the difference between user pages and Project pages owned by a user ?

there’s no way to have multiple sets of pages for a single project, though if the purpose is to look at the changes before it’s pushed to master is to have review apps

user pages are pages based on the user’s username where you end up with something like: user.gitlab.io

a project can have its own pages that is accessed via: user.gitlab.io/project-name

similarly a group’s project would be something like: group.gitlab.io/project-name

one way you might be able to work around this situation is if the users have their own fork of the project so that it becomes: user1.gitlab.io/project-name and then when it’s ready, they push to the master on the original project which assuming is in a group would be: group.gitlab.io/project-name

the actual address can be changed using a custom domain setup.

Hope that helps.