You have got a lot of things done incorrectly.
First things first.
Add the location of your "chromedriver.exe"/"chromedriver" binary to the PATH variable.
That way you get rid of the dependency of specifying its location via the code.
If adding it in the PATH is not possible, then you should try specifying its location via the JVM argument.
This change needs to be done in your BaseClass.
I re-iterate my question. What is this "virtual linux machine" that you are talking about?
Apart from the obvious meaning that its a VM (Virtual Machine which is running on a Linux OS) what additional details can you provide?
Usually when devops folks setup a machine to run Jenkins, they have the machine configured in a headless mode [ i.e., there will not be any GUI defined for the machine and the machine is intended to be used only via the terminal ]. If that's the case, then you would need to install
1. Chrome browser and all its supporting libraries
2. Chrome Driver binary
3. Xfvb (for giving a temporary display to the headless unix machine)
which IMO is a lot of work. You should instead just try spinning off a selenium-standalone chrome browser supporting docker container and have your tests run against it.