Exposing Server URL from circleci build

I have circleci build the server and front end and run puppeteer test on them. The server for both frontend and backend is running on the circleci container when puppeteer is run. Is there a way to expose the container server on circleci via a URL so that I can hit the server running in the circleci container to manually test out the functionality added in the PR? I can add a sleep as the last step to keep the build in running state for little while while the QA is happening.

Do you want to reach your servers from the internet, or do you want to connect to them locally using a test suite on the build server?

From the internet via the browser for manual testing. The automated testing works as we can hit localhost from puppeteer.

I can use localtunnel on the machine to generate a URL that I can use to access the CI machine which is running the server.

Yes, that might work. I believe BrowserStack uses a similar thing, and I think that works on CircleCI. As far as I know you cannot connect directly to the build server, as it is hidden behind an inbound firewall.

Personally, I encourage people to make their test systems self-contained, so they spin up all pieces of code in a pristine state, and use data seeds to make the initial state reproducible. This is faster and less prone to network failures. Would you be able to do that?