Valkyrie is an opinionated development stack that makes features/git based Drupal development easy.
- Everything is wrapped up neatly in a VM. This keeps your computer tidy and Valkyrie consistent across various machines.
- Folders in the VM are mounted on your computer via NFS to make developing with your favorite editor easy (we like Vim).
- Automatic domain resolution using vagrant-dns on Macs or Avahi on Linux systems (we haven't tested this on Windows, sorry). Each site you create on Valkyrie will get an automatically resovling domain name which keeps you from needing to hack your /etc/hosts file.
- Drush extensions to make all kinds of common devleopment tasks easy.
- Automatic Drush aliases for running commands against sites inside the VM.
We've tested this on OS X (Yosemite) and some flavor of linux that @ergonlogic uses. You'll need to have the following:
- VirtualBox
- Vagrant
- vagrant-triggers
- vagrant-dns *Mac only
- Drush 7.0-dev
- NFS *Pre-installed on OS-X, install the
nfs-kernel-server
andnfs-common
packages on Ubuntu Linux.
The latest versions of all of the above are recommended. To install Drush on OS X, we recommend using Homebrew. You'll need to install the HEAD version of Drush: brew install drush --HEAD
.
Make sure you have a .drush folder in your home diretory. If you don't, run the drush
command and it should create one.
To install Valkyrie from source, clone the repo inside ~/.drush like so:
git clone https://github.com/GetValkyrie/valkyrie.git ~/.drush/valkyrie --recursive
Then clear your drush cache:
drush cc drush
Valkyrie provides a number of Drush commands, which are well documented within Drush itself. Run the following to review these commands:
drush help --filter=valkyrie
To begin using Valkyrie you'll need to create a project. A project is a VM provisioned with the entire dev stack. You really only need one project since it will be running Aegir which supports multiple platforms/sites.
To create a project run drush vnew [name]
. We usually name our project "valkyrie" since we only need one drush vnew valkyrie
. This will create a folder named "valkyrie" in the current working directory and will spin up and provision a VM. This will take a while so go grab a coffee/beer.
During the provisioning process you should see a couple red notices. One is an SSH key for the VM in case you need to add it as a deploy key to private repos. The other is a login link for accessing Aegir.
-
If Hosting Queue not running
drush @vm cc drush; drush @v hosting-dispatch
-
If frontend does not generate properly
drush @v provision-verify
- Platform management
- ??? - Request additional features in a PR. Even better, implement it in PR as well :)
We are firm proponents of Free Software. Valkyrie only exists because of the ongoing efforts of many other projects including: Aegir, Drupal, Drush, Git, GNU/Linux, Ansible, Vagrant and VirtualBox.