title: Version control - how to deploy code to production machines(without Internet and with docker)?
body: <p>OK this bugs me a lot: how to deploy to machines without Internet connections and using docker?</p>
  
  <p>The production machines don't have Internet connection due to security concerns, which is reasonable. So, we use a jump machine to connect to it and upload our code.</p>
  
  <p>And, the production project is within Docker container, so even if we make a little change, we have to rebuild it all. Or, <code>docker cp</code> to all the files we changed.</p>
  
  <p>We do version control with Git, in a machine in dev environment; all team members have access to it, within our network, but the production machine cannot connect to it directly. (Yes, it can, but needs jump machine, too)</p>
  
  <p>So, as I understand, in this situation, if we want to deploy in a simple way(download code directy in <code>docker exec</code>), we have to create a Git repo in the machine of jump, right? Is there any better solutions? I am new to docker. </p>
  
  <p>And, if we have a <code>.git</code> folder pointing to the dev environment Git repo, how do we configure it to point to jump machine? Change url and credentials every time we deploy? Ugly.</p>