title: how to place and use headless chrome binary on jenkins (linux) instance
body: <p>actually i am struggling with absence of bigger picture on how to proceed , here is the case :</p>
  
  <p>I have protractor test suite running headless using Chrome 60 (beta) binary by giving binary location in chrome options in windows environment.</p>
  
  <p>I want to port this to available CI CD Jenkins instance (linux) and run headless there. I can think of two approaches :</p>
  
  <p>Approach 1 : </p>
  
  <p>Install chrome plugin in jenkins , so chrome becomes available to be driven by chrome driver &lt; webdriver modules .so that i can use jenkins job as shown below : </p>
  
  <pre><code>npm install
  </code></pre>
  
  <p><code>npm run start</code>   (from script , runs webdriver-manager start  )</p>
  
  <p><code>npm run update</code>  (from script , runs webdriver-manager update )</p>
  
  <p><code>npm run test</code>    (from script , runs protractor protactor.conf.js )</p>
  
  <p>Approach 2 : install chrome as module like other npm modules .then</p>
  
  <pre><code>npm install
  </code></pre>
  
  <p><code>npm run start</code>   (from script , runs webdriver-manager start  )</p>
  
  <p><code>npm run update</code>  (from script , runs webdriver-manager update )</p>
  
  <p><code>npm run test</code>    (from script , runs protractor protactor.conf.js )</p>
  
  <p>I have looked into simple-headless-chrome , headless-chromium , chrome-runner npm modules , but not able to understand how these will work .</p>
  
  <p>My understanding is to somehow have chrome binaries in node_modules and give path for  chrome binaries in chrome options so that chrome driver can find it .</p>
  
  <p>Can anyone enlighten me a little bit about bigger picture and how things will workout for Second approach .As i want dont have access to get chrome plugin installed on jenkins server and want to keep my setup independent.(nodejs and npm , java etc are available in jenkins)</p>