Bug Tracker

Opened 6 years ago

Closed 5 years ago

#14488 closed feature (migrated)

Add Vagrant Support

Reported by: eric@… Owned by:
Priority: high Milestone: None
Component: build Version: 1.10.2
Keywords: Cc:
Blocked by: Blocking:

Description

The current unit test instructions advise developers to install some variant of *AMP, which is a heavy install to set up their development environment. Adding a Vagrantfile and related configuration would allow the project to ship a portable server configuration along with the code, lowering the bar new developers have to clear in order to run and contribute to unit testing.

An example Vagrantfile is available in this pull request: https://github.com/jquery/jquery/pull/1410

Change History (7)

comment:1 Changed 6 years ago by gibson042

The instructions also mention mongoose as an alternative to *AMP, which works fine without changing the repository (it's what I use for the same reasons mentioned here) and is already more lightweight than Vagrant.

comment:2 Changed 6 years ago by gnarf

Status: newopen

I actually like the idea of having a Vagrantfile available to spawn up an nginx that runs the same config as the builds.jenkins.jquery.com

Couple of suggestions

I could setup a dns entry for something like vagrant.jquery.com rather than needing anyone to ever edit their hosts file.

Also, posted here are the exact ways the build server for jenkins sets up its virtualhost.

# Support POST to static files - jQuery Core Unit Tests
error_page 405 =200 @405;
location @405 {
    proxy_method GET;
    proxy_pass http://localhost;
    proxy_set_header Host builds.jenkins.jquery.com;
}

# Support this funky url for jsonp.php - jQuery Core Unit Tests
rewrite ^(.*)data/jsonp.php.*$ $1data/jsonp.php;

comment:3 in reply to:  2 ; Changed 6 years ago by eric@…

Replying to gnarf:

I could setup a dns entry for something like vagrant.jquery.com rather than needing anyone to ever edit their hosts file.

That would be optimal, and a much better solution than ever asking anyone to edit their hosts file.

I'm also considering packaging a Vagrant box with PHP/Nginx already installed _and_ configured. This would allow the bundled configuration to ship with nothing more than a Vagrantfile (much cleaner in the repository) and developers could continue to use either their *AMP install or Mongoose instead of Vagrant without much trouble.

comment:4 in reply to:  3 Changed 6 years ago by gibson042

Replying to gnarf:

I actually like the idea of having a Vagrantfile available to spawn up an nginx that runs the same config as the builds.jenkins.jquery.com

I could setup a dns entry for something like vagrant.jquery.com rather than needing anyone to ever edit their hosts file.

Replying to eric@…:

I'm also considering packaging a Vagrant box with PHP/Nginx already installed _and_ configured. This would allow the bundled configuration to ship with nothing more than a Vagrantfile (much cleaner in the repository) and developers could continue to use either their *AMP install or Mongoose instead of Vagrant without much trouble.

Okay, that all sounds really nice. I'm sold.

comment:5 Changed 6 years ago by gnarf

Yeah - If we can get the .box setup with nginx/etc without having to download it post spin-up that saves a big portion of the problem.

We can host the source box on the infra dropbox also and keep it up to day.

comment:6 Changed 5 years ago by timmywil

Component: unfiledbuild
Priority: undecidedhigh

comment:7 Changed 5 years ago by m_gol

Resolution: migrated
Status: openclosed
Note: See TracTickets for help on using tickets.