-
-
Notifications
You must be signed in to change notification settings - Fork 644
Build and push Drupal VM base box to Vagrant Cloud, and use it as default #1774
Comments
Testing things out locally... https://app.vagrantup.com/geerlingguy/boxes/drupal-vm |
And there's a version 1.0.0 now; I'm testing with
In both cases, the provisioning was 'cold', with neither the base box nor the linked clone already set up locally (the box had to be downloaded and the initial VM had to be started). |
And the code: https://github.com/geerlingguy/packer-drupal-vm |
One issue with doing this: if someone has: drupalvm_webserver: nginx ...then the
This is because the default box has already set up Apache 2.4 and it's running on port 80, blocking Nginx from doing the same. So... before thinking about switching to using an optimized base box by default instead of the minimal Ubuntu install, we'd need to solve this problem (and also make sure none of the other config changes would break things—e.g. what if the user has |
Keen to help out on this and potentially decommission We've run into a major problem as Hashicorp are shutting down Atlas Cloud :(
RE: |
Wait what?! |
Vagrant Cloud will still exist, right? https://www.vagrantup.com/docs/vagrant-cloud/ |
Yep, it's the packer cloud service that is being decommissioned. They reference this page to migrate to a CI builder -- https://www.packer.io/guides/packer-on-cicd/ Problem is you can build a virtualbox image on travis / circle :( |
Ah, I see. I build the boxes locally and push the images up to Vagrant Cloud, so I think I'm safe for now. I've thought about spinning up a Jenkins VM on a Mac mini I have laying around, and doing CI builds for all the boxes... but I've also been lazy with doing that :P |
Looks like that will be the way to go from next week... beetbox is relying on packer push. |
I had this warning coming up since the first time was running apache. I did ssh into drupal-vm, run: Redo the provision, seems the warning is gone. |
@iijiang - Yeah, that should work... it might be best to add a simple Drupal VM command though to at least stop/disable Apache if Nginx is detected as the selected I have to provision and reprovision a site like 40 times this week, and I want faster cold start times :D |
Moving work from #1126 into this ticket—will make a checklist in the OP. |
Testing with a pretty vanilla Acquia BLT project:
Note that in the interest of me not wasting my entire life testing, I only ran the tests once. But it's a pretty huge difference as most tasks fly through as 'OK'. |
Marking as fixed. Makes me happy. I'm sure there will be a few cleanup issues, and maybe we'll want to not install any extras by default to make the base base box be a little more trim... but happy otherwise! |
Issue Type
Summary
I've considered doing this in the past a few times, but a few people have been asking me about it again recently. Basically, there's already
beet/box
, which is kind of a 'Drupal VM plus' base box for Vagrant/VirtualBox.But it would help with provisioning speed for the great majority of Drupal VM users (as long as they're using Ubuntu 16.04 or whatever's the current default OS) to have an official
geerlingguy/drupal-vm
base box which is basically all the current defaults fromdefault.config.yml
.And if I set that up using Packer... I could also set up an Amazon AMI build so those using cloud dev environments (e.g. with Cloud9 could quickly spin up a Drupal VM instance in the cloud and hack on a Drupal site easily. Every time I travel I'm reminded of some of the major benefits of such an environment—imagine doing a super speedy
composer install
orcomposer update
on your Drupal site while you're flying and have like 2 Kbps of bandwidth!Anyways, I'm opening this issue to mull this over. I don't know if I'll do it or not yet, but I'm leaning towards spending an hour or two on at least seeing if I can make it automated enough with Vagrant Cloud/Atlas so it's no additional maintenance burden (besides maybe clicking a button) on myself.
TODO
The text was updated successfully, but these errors were encountered: