
Ask HN: How do you automate a build at your company? - simplegeek
Greetings,<p>So I am working for a small company whose source code is written in lot of Ruby, Python and Go.<p>I noticed that their build process (i.e. building the project for the first time on a machine) isn&#x27;t automated and you&#x27;ve to manually type in many commands e.g. 
installing lot of things using brew, adding things to bash_profile, installing node packages, cloning a couple of Git projects and etc.<p>How would you go about automating this? Do you use any tools? Are there any good tools that I can use to automate this all?
======
stephenr
I swear by Vagrant for development environments.

With that as a base, any config tool can setup the environment, my preference
is for shell scripts, or config packages if youre invested enough in a single
platform (eg using debathena config-package-dev for debian environments)

~~~
simplegeek
Thank you for your reply and insights, appreciate it.

Before I'm able to convince the team on migrating to Vagrant, do you suggest
shell scripts as a short term solution?

~~~
stephenr
If what youre doing now is running commands/placing files, then sure shell
scripts can definitely be a quick win.

~~~
PaulHoule
If you use Vagrant you might wind up doing all the heavy lifting in shell
scripts anyway.

~~~
stephenr
Its definitely an option, yep.

Key is to think portable when writing them.

Target /bin/sh not bash, don't asusme library paths, etc.

------
moondev
Dockerfile in the repo. Vagrant is obsolete IMHO after they released a first
class client for all platforms

