Hello:
I am using GoCD for continuously deploying some websites and web applications, respectively. Those websites and web apps are build with Snowpack, a frontend build tool which uses Node.js / npm.
As part of the whole build and deployment process, I run a local HTTP server using npm package http-server. That server serves the built app from the local project folder. Then, using that local web server, a series of playwright tests is run to conduct various end-to-end tests in different rendering engines like Chromium. That way, I can run some quick smoke tests locally before the whole app will be deployed to a remote server. There, more elaborate tests are run.
On my local machine, that works like a charm. However, when GoCD executes the built process, it gets stuck when launching the web server.
Basically, the web server is launched in package.json via "http-server ./build -a 127.0.0.1 -p 8181 &". Then, the playwright tests are run. At the end, I use "kill $(lsof -t -i:8181)" to stop the server.
However, GoCD gets stuck when trying to launch the web server. I assume that has something to do with trying to run the web server in the background (note the ampersand at the end of the command).
How can I run that build process using GoCD?
Best wishes,
Martin