[for comments, please go to https://www.facebook.com/victor.kane/posts/10154376814526524]
Charla por Tecnoday 2015 - Día del programador.
I had postponed upgrading to Yosemite because of all the horror stories about 24-hour delays while the installation program copied all homebrew files from /usr/local to hell and back, and things running slowly afterwards, and, well, what always happens when you upgrade.
But I am progressive by nature and there were several things I wanted to install that required Yosemite and that was going to be a thing too. My great surprise was first that perhaps because I have a solid state drive on my MacBook Air, there was a delay, but not that much. And secondly, everything was snappy as all getout after the upgrade. I felt like I had a new computer running!
MacVim has long been my standard Mac text editor, and gvim on Linux, although now Atom with the vim mode and markdown plugins is vying for that position (make sure it's always running to avoid delays in loading), along with LightPaper for Mac for markdown. Imagine my chagrin when I attempted to open a text file on Yosemite with MacVim, only to find that while the application launched, the window didn't. No go.
This article explains what I did to remedy the situation completely on my MacBook and bring MacVim back to the contender status it deserves.
This is the second in a series of articles involving the writing and launching of my DurableDrupal Lean ebook series website on platform.sh. Since it's a real world application, this article is for real world website and web application developers. If you are starting from scratch but enthusiastic and willing to learn, that means you too. I'm fortunate enough to have their sponsorship and full technical support, so everything in the article has been tested out on the platform. A link will be edited in here as soon as it goes live.
Diving right in I setup a Trello Kanban Board for Project Inception as follows:
Both Vision (Process, Product) and Candidate Architecture (Process, Product) jobs have been completed, and have been moved to the MVP 1 column. We know what we want to do, and we're doing it with Drupal 7, based on some initial configuration as a starting point (expressed both as an install profile and a drush configuration script). At this point there are three jobs in the To Do column, constituting the remaining preparation for the Team Product Kickoff. And two of them (setup for continuous integration and continuous delivery) are about to be made much easier by virtue of using platform.sh, not only as a home for the production instance, but as a central point of organization for the entire development and deployment process.
Beginning Continuous Integration Workflow
What we'll be doing in this article:
- Overcoming the confusion between Continuous Integration and Continuous Delivery
- Create Ansible playbook to create local development VM suitable for working with platform.sh
- Clone the playbook from GitHub into a workspace on local dev box and vagrant up
- ssh into the local dev box, log into platform.sh and manage ssh keys
- Get the project and sync the platform server and local databases
- Configure local dev virtual host and bring up website
- Exercise CI workflow by doing an upgrade and pushing via repo to platform