How can I use Composer with no Internet access? I need to build and deploy a Drupal 8 site within an on-premise server with no internet access (developer machines have internet access, and access to a private repo).
I would like to avoid committing the whole vendor directory to the codebase, and use composer to build the site.
As far as I am aware, my options are:

Commit everything, including third-party modules and the vendor directory

Use something like Satis as a local repository and mirror all the necessary dependencies in there, and reference the private Composer repository


Any recommendations on this scenario?
I personnaly don't like to commit vendor dependencies. It makes the code review more complicated before a merge request cause the files you need to review are lost in the middle of an ocean of files you don't need to review.
In your case I would have a CI job which would be run on release branches and would exec composer install then generate a .tar.gz file containing all the files (including /vendor). That CI job would then push the .tar.gz on a repository manager like Nexus. And finally a deploy job in Jenkins would get the last hosted release on the repository manager, push it to the final host, untar it and run drush commands to update the site.