0

I am being asked to deploy a meteor app to a build server that does not have internet access. The build server can download Meteor, Npm packages, etc, from a private JFrog Artifactory repo on a local network server. The meteor app also has Atmosphere package dependencies. How can I configure Meteor to point to Artifactory (or any private repo) for Atmosphere packages, or otherwise solve this problem?

Matt Black
  • 26
  • 3

2 Answers2

1

You only access Atmosphere or github at build/deploy time. So usually if you use mup to deploy to your server, it won't matter that it's not online.

If it has to be built by a build server, then that build server will need network access, unless you want to configure a local repository for it to get files from.

There are some places here for you to look further into how to do it:

https://www.npmjs.com/package/sinopia

can you host a private repository for your organization to use with npm?

https://addyosmani.com/blog/using-npm-offline/

Local NPM/Atmosphere package repositories for Meteor applications without internet access

Mikkel
  • 7,693
  • 3
  • 17
  • 31
  • Hi thanks for the response. You are correct, this problem is related to build time on a server without internet access. The only access it has is to a private Artifactory repo. Artifactory integrates with NPM just fine. However, it does not handle Atmosphere packages. Your first three links are regarding NPM which is not the issue. Your last link has one answer which states a workaround involving copying the .meteor folder to the build server. This is not an acceptable solution for me. – Matt Black Sep 14 '17 at 15:19
  • He could have answered "You can build your own integration between artifactory and atmosphere". Technically this whole question is off-topic for SO anyway, probably should be on serverfault. – Michel Floyd Sep 14 '17 at 17:53
0

At the moment I am facing the same problem and this is what I did:

  1. Build the meteor app in a machine with internet access so it can build fine.
  2. Create a tarball of the .meteor folder with all dependencies.
  3. Upload the tarball somewhere accessible by your build server (maybe in Artifactory?).
  4. In the build server, download the tarball, extract it and replace it whenever you want to build the app.

Meteor will not try to download the packages from Atmosphere if they are already available. Not the best solution, especially because if your dependencies change you will need to update the tarball, however it works.

Felipe Santiago
  • 143
  • 1
  • 8