title: How to avoid Edeliver deployment error: "vm.args: No such file or directory"?
body: <h2>Context</h2>
  
  <p>We are trying to use <code>edeliver</code> to deploy a "Hot Upgrade" of a Phoenix Web Application to a remote Virtual Machine instance. </p>
  
  <p>Our aim is to build an "upgrade" version of the app each time so that the app can be "hot" upgraded in production without any down-time.</p>
  
  <p>We have succeeded in doing this "hot upgrade" on a "Hello World" phoenix app: 
  <a href="https://github.com/nelsonic/hello_world_edeliver" rel="noreferrer">https://github.com/nelsonic/hello_world_edeliver</a> which is <em>automatically</em> deployed from Travis-CI when the build passes. see: <a href="https://travis-ci.org/nelsonic/hello_world_edeliver/builds/259965752#L1752" rel="noreferrer">https://travis-ci.org/nelsonic/hello_world_edeliver/builds/259965752#L1752</a></p>
  
  <p>So, in <em>theory</em> this technique should work for our "real" app.</p>
  
  <h2>Attempting to Deploy a "Real" Phoenix App using Edeliver</h2>
  
  <p>Ran the following command (<em>to build the upgrade</em>):</p>
  
  <pre><code>mix edeliver build upgrade --auto-version=git-revision --from=$(git rev-parse HEAD~) --to=$(git rev-parse HEAD) --verbose
  </code></pre>
  
  <p>i.e. "build the upgrade from the previous git revision to the current one"</p>
  
  <p>So far, so good. "<em>Release successfully built!</em>"</p>
  
  <p><img src="https://user-images.githubusercontent.com/194400/28910525-257bae48-7825-11e7-9c1d-c2666618a00a.png" alt="edeliver-upgrade-build-successful"></p>
  
  <h2>Error: <code>vm.args: No such file or directory</code></h2>
  
  <p>When we attempt to <em>deploy</em> the upgrade:</p>
  
  <pre><code>mix edeliver deploy upgrade to production --version=1.0.3+86d55eb --verbose
  </code></pre>
  
  <p><img src="https://user-images.githubusercontent.com/194400/28912294-98945e10-782b-11e7-8dde-638b09d3f87c.png" alt="vm.args-no-such-file-or-directory"></p>
  
  <pre><code>cat: /home/hladmin/healthlocker/releases/1.0.3+86d55eb/vm.args: No such file or directory
  </code></pre>
  
  <blockquote>
    <p>Note: we have a little bash script that reads the latest upgrade version available in <code>.deliver/releases</code> and deploys that see: <a href="https://github.com/nelsonic/hello_world_edeliver/blob/master/.deliver/version.sh" rel="noreferrer"><code>version.sh</code></a></p>
  </blockquote>
  
  <h2>Question:</h2>
  
  <p>Is there a way to <em>ignore</em> the absence of the <code>vm.args</code> file and <em>continue</em> the deployment? </p>
  
  <p><strong><em>Or</em></strong> if the file is <em>required</em> to complete the deployment, is there some documentation on how to create the file?</p>
  
  <blockquote>
    <p>Note: we have read the distillery "Runtime Configuration" docs: <a href="https://github.com/bitwalker/distillery/blob/master/docs/Runtime%20Configuration.md" rel="noreferrer">https://github.com/bitwalker/distillery/blob/master/docs/Runtime%20Configuration.md</a> and are sadly none-the-wiser ...</p>
  </blockquote>
  
  <h2>Additional Info</h2>
  
  <h3>Environment</h3>
  
  <ul>
  <li>Localhost: Mac running Elixir 1.4.2</li>
  <li>Build Host: <strong>Ubuntu 16.04.2 LTS</strong> running Elixir 1.4.5</li>
  <li><code>mix.exs</code> file: <a href="https://github.com/healthlocker/healthlocker/blob/continuous-delivery/mix.exs" rel="noreferrer">https://github.com/healthlocker/healthlocker/blob/continuous-delivery/mix.exs</a></li>
  <li><code>edeliver</code> version: <code>1.4.4</code></li>
  <li>Build tool: <code>distillery</code> version: <code>1.4.0</code></li>
  <li>Umbrella project: yes. </li>
  </ul>
  
  <p>This question was also asked on: <a href="https://github.com/edeliver/edeliver/issues/234" rel="noreferrer">https://github.com/edeliver/edeliver/issues/234</a></p>