When you deploy React.js app apart from root path, there are two things needs to configured. As by default React.js will try to load from root of domain.

Sub path : /my-app/website/
so when you are deploying your code will be in : /my-app/website/ folder
1. Telling React to where to Look for the Files (Static assets like css, js, images or fonts)
This can be done in two ways.
i. Setting homepage in package.json
ii. Set PUBLIC_URL in .env file
Way (i). is not preferred as package.json will be common for all env (dev, staging, prod).
So another way to do this by setting PUBLIC_URL in .env file
in our case it will be :
PUBLIC_URL=https://jenkins.openxcell.info/my-app/website/
.env will be common for all env, So to define PUBLIC_URL for different env we can put .env in .gitignore and create different env for each environment.
as an example .env.developement, .env.staging, .env.master etc. And you can notify devops to which env they should use.
2. Telling React Router for the sub path
Configuring Step 1 will successfully load all your assets. But you might see blank page when you open website.
that's because react router is not aware of this subpath deployment.
So we need to add another configuration in env
REACT_APP_BASE_PATH=/my-app/website/
and add this to root of your router.
ex : Assuming you are using BrowserRouter
So
<BrowserRouter basename={process.env.REACT_APP_BASE_PATH}>
You can use any name instead of REACT_APP_BASE_PATH. As React requires REACT_APP_ prefix for any custom env variable, make sure to add REACT_APP_ prefix.