Skip to content
This repository has been archived by the owner on Nov 8, 2018. It is now read-only.

Auto install dependencies and packages with vagrant setup #243

Open
sreejakshetty opened this issue Mar 25, 2017 · 3 comments
Open

Auto install dependencies and packages with vagrant setup #243

sreejakshetty opened this issue Mar 25, 2017 · 3 comments

Comments

@sreejakshetty
Copy link

Instead of manually installing dependencies as suggested in https://github.com/systers/macc/blob/develop/docs/Installation%20Guide.md on vagrant VM ,we could update the vagrant file with config.vm.provision "shell" and then executing a shell script for installing the packages and dependencies.

@sreejakshetty
Copy link
Author

I would like to work upon this issue.

@sreejakshetty sreejakshetty changed the title auto Install dependencies and packages ,with vagrant setup Auto install dependencies and packages with vagrant setup Mar 25, 2017
@mish24
Copy link

mish24 commented Mar 26, 2017

@kamishettysreeja25 I'll tell a reason why this is bad. Using shell is not as good idea as using Python. The reason being, shell is responsible for 2 things - starting the installation, as well as loading the installed apps when you're running tests. That's why we need Python with this, to reduce the loading time with tests. (It is important to consider the tests as well.) Let me know if you need more references for understanding this.

@sreejakshetty
Copy link
Author

sreejakshetty commented Mar 26, 2017

@mish24 One of the main advantages of using vagrant is that we could have an auto script to install the dependencies and configure the files automatically, so that a new comer could easily setup his vagrant by just by running vagrant up . I mean just to automate the installation process instead of making the user to manually install and configure files which is tedious as in https://github.com/systers/macc/blob/develop/docs/Installation%20Guide.md .
To be clear you can have a look at
https://github.com/fossasia/open-event-orga-server/blob/development/Vagrantfile#L73
where install.sh (SHELL script) is called , installs all dependencies and configures database automatically.
https://github.com/fossasia/open-event-orga-server/blob/development/scripts/install.sh

or you can also have a look at https://github.com/freedombox/Plinth/blob/master/Vagrantfile#L22
where ./setup.py install (Python Script) is called ,which installs required dependencies , there by automating the installation process .
using a script will make our installation process a two step method (run vagrant up and then access on http://localhost:8000 ) ,you can have a look at how easy vagrant could make installation process at https://github.com/freedombox/Plinth/blob/master/HACKING

If you feel shell is not a good idea to use we could automate tasks using python scripts as in the second case in FreedomBox Plinth.
Making installation steps automatic will make installation easier,faster there by new comers could get faster into contributing to the core project.
Let me know if you couldn't understand my intention here and I am happy to explain it in detail.

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

No branches or pull requests

2 participants