Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tarball support #8

Open
tj opened this issue Jan 17, 2012 · 8 comments
Open

tarball support #8

tj opened this issue Jan 17, 2012 · 8 comments

Comments

@tj
Copy link
Member

tj commented Jan 17, 2012

No description provided.

@bronson
Copy link
Contributor

bronson commented Apr 27, 2012

Just curious, why? Seems like additional complexity for not much gain...?

@tj
Copy link
Member Author

tj commented Apr 27, 2012

just brainstorming, in a lot of ways tarballs would be superior to npm/gem etc

@oveddan
Copy link

oveddan commented Jul 7, 2012

Agreed - we've had deployments fail when npm fails, taking the app offline. It would be great if we had the ability for the app to be deployed and run npm installed in a location where the app isn't running from, tarbell'ed up, then copied and extracted to the desired location. This would prevent the app from going offline when npm fails or is slow. Right now the only way to do this is from a CI server.

@tj
Copy link
Member Author

tj commented Jul 7, 2012

yeah, it would be more akin to go's nice binary stuff, really hot to roll up your deps into one thing

@oveddan
Copy link

oveddan commented Jul 7, 2012

ah yeah that may be a good solution, you could essentially do a 'pre-install' by just doing and npm install in one location and only if that succeeds deploy the app and the tarballed npm install location.

@slaskis
Copy link

slaskis commented Jul 8, 2012

what about binary modules though? or do you mean the tarballs will be generated on the server?

@tj
Copy link
Member Author

tj commented Jul 8, 2012

well you could do a number of things, you could build the tar ball on one server and push it out to the others etc, or cross compile

@jmervine
Copy link

I would assume this would be for deploying to remote servers that don't have firewall access to an internal (firewall-ed) git repo. I wrote something like this for Vlad a few years ago and it see use, although not a ton.

# sudo code
if $CONFIG_TARBALL
  cd /tmp
  git clone $REPO
  cd $REPO
  git checkout $BRANCH_OR_TAG_OR_SHA
  git archive /tmp/tar.tmp # whatever the command is
  tar -czf /tmp/release.tgz /tmp/tar.tmp
  scp /tmp/release.tgz $HOST:/tmp
  ssh $HOST bash -c 'tar -xzf /tmp/release.tgz $PATH'
else
  # standard method
fi

Obviously that's pseudo-code and won't really work, but you get the idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants