We want to build a distributable development environment for FarCry with a number of core features:
works across Windows, Linux and OSX development workstations
only requires a few instructions from a README to get going
doubles as a deployment pipeline for updating your production code
It’s part of our goal to have a maximum 4 hour window to project productivity for any employee (no matter how new).
While FarCry supports a myriad of deployment configurations, we’re focused on a stack that resembles our ideal production environment. More variants will come in time.
Base stack includes:
Latest Ubuntu LTS (currently Trusty64)
Our deployment scripts all assume you have code stored in GIT repos, and that they only require a single ssh key (or anon) to get access to them.
The FarCry project format has an ./install folder that can be filled with sample data, and a deploy.txt describing project dependencies. We want to leverage these options to automate the installation of projects.
Daemonites have been involved in a lot of devops projects over the last couple of years. We’d hoped to bring you an instant “FarCry In A Box” style of development environment for a while, but its been hard to make our scripting environments generic enough for public consumption.
@blair and @modius spent the last week cherry picking the best options from our various deployments. We trying to build a generic set of ansible-roles to drive both vagrant and ec2 deployments (and potentially any sort of deployment). We think we may have cracked it.
If I can get a confirmation as a reply from a few different folks that this comes up with a running environment, I’d be grateful Just let me know your developer environment; for example, works great on OSX (Yosemite).
This only needs to be the once per workstation. If you already have a working Vagrant environment you can skip this part (except the vagrant-hostmanager plugin).
In the meantime, care to comment on why you guys use Ansible for provisioning? Having only used Chef and manually written shell scripts, I’m curious to hear your opinion of Ansible and what it offers over Chef.
I think either farcry or vagrant is fine. farcry has been the default for FarCry installations for a while so FC devs will be used to that. Anyone who has used Vagrant will be used to having “vagrant” be the password for everything.
So, I don’t think it matters much which you choose, but I think it should be the same for all (FC webtop, Lucee admins, mysql root pw, or create a vagrant/vagrant, farcry/farcry user in mysql too, etc). That way we don’t have to guess. “Oh, I use ‘farcry’ here, but here its ‘vagrant’”.
OK, I didn’t look specifically, thought it might have been related to the error I saw from the front end. I think a clean database install after provisioning, including indexes would be good, but you’re right, they’re optional.
If you are a sucker for punishment, you might want to try an alternative workbench using Fandango project. Ideally I want to have a super light-weight repo that just configs the environment and is easy to copy and set up so that anyone can have their own project workbench.
git clone https://github.com/modius/farcry-env-fandango.git
git submodule update --init
Note requires an existing installation of the standard Daemonite Vagrant Workbench.