To have reporoducible builds, I recommend Docker integration for Jenkins. This allows you to process multiple assemblies simulatively, so if the assembly takes longer than expected, other developers can also click.
Since each container has its own network, you can run as many containers as you want, while each of them has its own Node server listening on the same port. As long as you do not need to access the Node server from outside the container (for example, from the build server itself), you have no problem.
Postgresql , , . , , . - Postgresql . Postgresql, , . db.
, :
[Developer pushes] -> [git notifies Jenkins] -> [Jenkins creates database] -> [Jenkins runs container] -> [Container builds and tests] -> [Container processes results] -> [Jenkins destroys database]
. ( ) , Jenkins . , , . , .
Jenkins git ( -). GitLab EE , , GitLab. , , GitLab/Bitbucket/...