pivotal-sprout / sprout-wrap

Pivotal Labs uses this project with sprout, soloist and librarian-chef to build developer workstations
The Unlicense
157 stars 250 forks source link

Create a bootstrap script #54

Closed bobbrez closed 8 years ago

bobbrez commented 10 years ago

It would really helpful if a script like the one for Boxen Web existed so that a user could kickstart the process similar to how Boxen (via Boxen Web) or Homebrew works with just executing a cURL'ed script.

bobbrez commented 10 years ago

Something like this: https://github.com/bobbrez/sprout-wrap/blob/master/scripts/bootstrap.sh

Its a first pass.

trinitronx commented 10 years ago

@bobbrez I took a shot at this a while back. For the most part it should still work, but I can't vouch for the S3 bucket URLs remaining the same forever. Check it out here: https://github.com/TangoGroup/sprout-wrap/blob/master/bootstrap-scripts/bootstrap.sh

trinitronx commented 10 years ago

@bobbrez: I was also able to find a script for installing the XCode Command Line Tools in veewee, which I adapted to my use case in this gist.

The XCode dmg files were found via an excellent trick from @cunnie at Pivotal Labs. Since XCode is a very large download, you should have enough time to grab it before the App Store app deletes the dmg. Just make sure that you're getting the complete file though! You can use a bash while loop with sleep to poll for the existence of the final download file and then copy it somewhere.

You also might be interested in this great list of official versioned xcode URLs from Ben Chatelain's xcode-installer gem.

hiremaga commented 10 years ago

A bootstrap script is an interesting idea. I've been on projects where we've hand rolled scripts similar to the ones in this thread.

In the mean time I've been experimenting with a statically compiled binary as an alternative to soloist. The thought is this binary might ensure dependencies like system ruby are met while being resilient to RVM et al, a common pain point.

https://github.com/hiremaga/sprout https://github.com/hiremaga/sprout/releases/tag/v0.0.4

It's very rough at this point (no tests + golang newb) but the general approach seems promising.

P.S. If you look closely you'll notice I've shameless ripped off parts of @trinitronx's gist :)

hiremaga commented 8 years ago

Close this due since it's pretty stale at this point.