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

Vagrant? #16

Closed
mikedugan opened this issue Dec 22, 2014 · 23 comments
Closed

Vagrant? #16

mikedugan opened this issue Dec 22, 2014 · 23 comments

Comments

@mikedugan
Copy link

_1 Upvote_ Have you considered dropping in a vagrant box to ensure consistent development environments when developers start forking and working with the codebase?

@tobyzerner
Copy link
Contributor

Probably a good idea. I haven't been developing on vagrant/Homestead so far just because of slowness (local requests taking ~1 second), but maybe that's just the way I had it set up?

@mikedugan
Copy link
Author

I haven't had any issues with Vagrant. Loading applications in development is a bit slower, especially if you're running profiling tools. I typically use https://github.com/fideloper/vaprobash instead of homestead since I like to have projects in separate and isolated environments.

@ghosh
Copy link
Contributor

ghosh commented Dec 23, 2014

+1 for Vagrant.

I have come to realize (the hard way) on the importance of a consistent dev environment.

@mikedugan
Copy link
Author

If no one else is hacking on this I'll PR a vagrantfile and setup scripts tonight

Sent from my iPhone

On Dec 23, 2014, at 1:38 PM, Indrashish Ghosh notifications@github.com wrote:

+1 for Vagrant.

I have come to realize (the hard way) on the importance of a consistent dev environment.


Reply to this email directly or view it on GitHub.

@tobyzerner
Copy link
Contributor

That'd be great, thanks!

@mikedugan
Copy link
Author

PR #21

@mikedugan mikedugan reopened this Dec 24, 2014
@mikedugan
Copy link
Author

You may wish to disregard that PR, I'm going to suggest creating a skeleton app repo for testing the application and consuming the flarum/core repo within the workbench of that

@mikedugan
Copy link
Author

Skeleton app: https://github.com/mikedugan/flarum-app

@SgtPooki
Copy link

@mikedugan would you mind filling out the Readme for your flarum-app repo? I am on mobile now and unable to check out code.. but I am confused by your statement "suggest creating a skeleton app repo for testing the application and consuming the flarum/core repo within the workbench of that"

@mikedugan
Copy link
Author

I’ll be pushing this up in an hour-ish, feel free to have a look whenever. The general idea is that there should be a skeleton application that bootstraps a ready-to-hack dev version of the application inside a vagrant box. In more words or less, it’s just the installation instructions in this repo applied in the form of some bash scripts.

-- 
Mike Dugan
mike@mjdugan.com

On December 27, 2014 at 7:55:02 AM, Russell Dempsey (notifications@github.com) wrote:

@mikedugan would you mind filling out the Readme for your flarum-app repo? I am on mobile now and unable to check out code.. but I am confused by your statement "suggest creating a skeleton app repo for testing the application and consuming the flarum/core repo within the workbench of that"


Reply to this email directly or view it on GitHub.

@mikedugan
Copy link
Author

Running a couple more tests and this will be pushed up at mikedugan/flarum-app

@mikedugan
Copy link
Author

Ok, looks like everything is working from my end. The skeleton app is basically the installation instructions in the flarum/core README converted to a vagrantfile and bash script. When you run vagrant up, it will do the following:

  • Create a vagrant box at 192.168.29.29
  • Set up PHP, NPM, MySQL, Nginx
  • Clone flarum/core into the workbench and install its dependencies
  • Install flarum/core npm & bower dependencies
  • Install flarum/core composer dependencies
  • Install the skeleton app (Laravel 4.2.*)
  • Migrate and seed the database

It also registers a command line alias esv which will start the built in ember server so that you can preview in your browser at 192.168.29.29:4200.

@qrokodial
Copy link

can confirm, vagrantfile with skeleton app is working as intended. 👍

@mikedugan
Copy link
Author

@qrokodial thanks, glad to hear you got it working 🍺

@tobyzerner
Copy link
Contributor

Great work Mike, thanks for setting this up! I will merge + fork the skeleton app repo tomorrow.

@ghosh
Copy link
Contributor

ghosh commented Dec 30, 2014

Looking great @mikedugan.

Given that Nginx is faster, I'm just wondering if Apache would be a better option instead of Nginx. The only rationale being that Apache seems like the standard installation on most servers and its probably more easier to approach for new programmers. Thoughts?

@tobyzerner
Copy link
Contributor

OK, forked into flarum/flarum and updated the flarum/core readme's installation instructions. I haven't actually been able to test yet (don't have access to good Internet right now so can't download the vagrant image) so please reopen this / send a PR if anything is wrong!

@tobyzerner
Copy link
Contributor

@ghosh I think right now developing on Nginx is fine. Once Flarum is in a more usable state we'll be working on an versatile installation method without vagrant.

@ghosh
Copy link
Contributor

ghosh commented Dec 30, 2014

ok 👍 That sounds good.

@mikedugan
Copy link
Author

Just adding another .02 - the point behind using the vagrant box is so that whoever happens to be developing on flarum won't have to set up a webserver etc.

In case it's not clear to anyone / anyone isn't familiar with vagrant, vagrant is only a development environment and isn't meant for use in production.

Sent from my iPhone

On Dec 30, 2014, at 7:13 AM, Indrashish Ghosh notifications@github.com wrote:

ok That sounds good.


Reply to this email directly or view it on GitHub.

@ghosh
Copy link
Contributor

ghosh commented Dec 30, 2014

Another useful point about Vagrant is that it lets you accurately mimic your production environment while you develop. Thus preventing any nasty surprises which you may get after pushing to production.

@mikedugan
Copy link
Author

@ghosh that's a bit less relevant in this scenario since it's intended for public consumption...there's no realistic way we could anticipate the ∞ different production environments people might try to deploy to

@ghosh
Copy link
Contributor

ghosh commented Dec 30, 2014

@mikedugan Thats exactly why I was suggesting using the least common denominator - which is a basic installation of a LAMP stack.

Anyway, my previous comment was not an argument. I was just adding to your points about Vagrant for people who may not have used it.

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