background preloader

Drupal git workflow

Facebook Twitter

Remote import of sites - does it work? [#1594588] I have 2 brand new servers with BOA 2.0.3 install (virtually identical, including platforms for o1 users).

Remote import of sites - does it work? [#1594588]

Was able to add a remote server and list sites on o1 but not import them. I'm getting drush command error. Running: /data/disk/o1/tools/drush/drush.php @server_server[remote] provision-remote_import --backend 2>&1The external command could not be executed due to an application error. snip Could not find provision alias named: server_localhostTrying to get property of non-object db.php:12Could not find provision alias named: platform_Drupal7142S001Drush command terminated abnormally due to an unrecoverable error.

Also, the instructions in the docs are somewhat confusing or incomplete. Leveraging's Remote Git Repositories - for Beginners. Using Git to move the code base of a Drupal site from a local development environment to a hosting provider (or vice-versa) is a necessary skill that most Drupal site builders should have.

Leveraging's Remote Git Repositories - for Beginners

Configuring and utilizing a remote Git repository can be an especially daunting task for people who don't have a strong background with version control systems. While updating the DrupalEasy Career Starter Program (DCSP) Curriculum a few weeks ago, it became clear to me that effectively using Git is a skill that we need to teach our students. We had informally gone over basic Git commands earlier in the program, but feedback from students and potential employers made us realized that students need (and want!) How to create a Git repository and add a complete Drupal site to it - Drupal Video Tutorial. Drupal Ecology: Aegir BOA & Devshop, Gitlab, DrupalPro etc. I've been meaning to write-up some notes and some thoughts on my current environment, reflecting on previous blue-sky posts about possible Drupal dev-ops toolchains.

Drupal Ecology: Aegir BOA & Devshop, Gitlab, DrupalPro etc

Disclosure, I run Ubuntu as a server/desktop and have dozens of virtual machines inside Vmware Workstation 9. How's Git set up works. Seattle Drupal and Web Development by Freelock Computing. At Freelock, we've been adopting a pattern for git branch management called Git Flow.

Seattle Drupal and Web Development by Freelock Computing

If you haven't run across git flow before, go check out this article to get the basic concepts: A successful Git branching model. Git Flow provides a handy tool for creating release, feature, and hotfix branches and keeping them organized. However, it (and most other software code management strategies we've run across) are organized around managing software releases. When you apply them to a Drupal development process that involves deployment across several server instances, it's not quite sufficient by itself. It's fine to keep production on a master branch, but we find that a single "develop" branch is nowhere near sufficient to accommodate our actual needs. We start on a sprint for a client, to add some entirely new functionality to an existing site.

We're still working out the kinks, but having a consistent way of organizing our site copies has been an important step. Site instances Yahoo! Do Work. My Drupal/Git Workflow. I've seen a few posts around from people trying to figure out a solid way to use Git to effectively manage their Drupal installation. This is the method that I've been using. Initial repository setup To start off, open a terminal and run these commands (you can copy/paste if you want): Using drush_make to optimize workflow. Introduction Once you understand why Aegir is a great tool for developing and managing Drupal web sites you inevitably start looking for ways to optimize workflow. mig5's article on Drupal deployments and workflows provides great insight on managing platforms, profiles and sites using Aegir, version control and the drush_make project.

Using drush_make to optimize workflow

The challenge of managing platforms and profiles Whether you are using Drupal to develop bespoke web sites or vertical web applications with hundreds of instances (sites), it is not uncommon to be managing a mix of platforms and profiles. These comprise community-contributed projects that, in many cases, are frequently updated. To protect the integrity of their platforms developers like to explicitly control which version of which project they use and when. Using drush_make to manage common and disparate code bases One of the really powerful features of drush_make is that it can operate recursively. This is illustrated schematically below: Example make files. Migration Details. As you know from the Drupal basics, every site consists of the Drupal code base, files and data.

Migration Details

Each of these are migrated differently. Drupal deployments & workflows with version control, drush_make, and Aegir. It's the million dollar question.

Drupal deployments & workflows with version control, drush_make, and Aegir

And it's rarely been answered because it's so darn hard to do so. Today I'd like to tell you how I do it with my favourite deployment weapons: Aegir, Version control, and Drush Make. This'll be a rather low-level article designed for power-users. For a more high-level overview of the benefits described, check out the recent blog post by Development Seed.

While many or most of us are using version control to keep track of our code and so on, a problem still persists, and it is twofold: 1) A lot of important data gets stored in the database in many database-driven content management systems, such as Drupal 2) The transition of updates through version control to the site can be a royal PITA. Recently 1) has pretty much been conquered thanks to Features, which provides the ability to export the 'mechanics' of a Drupal site from the database into module-like code, which can then be version-controlled. Enter: Drush Make Sure, you say, that's great. No, really. Dev. Git. Maintaining a project with Git. Overview This document contains a series of Git VCS command examples for project maintainers.

Maintaining a project with Git

Examples are based on modules, but themes, theme engines, and translations are essentially the same. Before you start Prerequisites: Before you begin, review basic concepts about Distributed Version Control Systems in Introduction to Git. Note: The brackets on this are not part of the commands, they just mark variables, so for example when you read mkdir [project_name] and your project is called Views, what you need to type is mkdir views. Getting started with Git on Using Git on