/engage-cd

Demo repository for Engage 2017 CD workshop -- [Created 2017-09-28 by danepowell aka dane.powell@acquia.com via github.acquia.com]

Primary LanguagePHP

Engage CD

This repository contains demo code for the Acquia Engage 2018 CD workshop. There are several branches, with each branch corresponding to a tutorial in the Pipelines Examples repository: https://github.com/acquia/pipelines-examples

The master branch is a demonstration of a complete BLT-based project development workflow for Engage CD.

Getting Started

This project is based on BLT, an open-source project template and tool that enables building, testing, and deploying Drupal installations following Acquia Professional Services best practices. While this is one of many methodologies, it is our recommended methodology.

  1. Review the Required / Recommended Skills for working with a BLT project.

  2. Ensure that your computer meets the minimum installation requirements (and then install the required applications). See the System Requirements.

  3. Request access to organization that owns the project repo in GitHub (if needed).

  4. Fork the project repository in GitHub.

  5. Request access to the Acquia Cloud Environment for your project (if needed).

  6. Setup a SSH key that can be used for GitHub and the Acquia Cloud (you CAN use the same key).

    1. Setup GitHub SSH Keys
    2. Setup Acquia Cloud SSH Keys
  7. Clone your forked repository. By default, Git names this "origin" on your local.

    $ git clone git@github.com:acquia/engage-cd.git
    
  8. To ensure that upstream changes to the parent repository may be tracked, add the upstream locally as well.

    $ git remote add upstream git@github.com:acquia/engage-cd.git
    
  9. Install Composer Dependencies. (Warning: this can take some time based on internet speeds.)

    $ composer install
    
  10. Setup local environment.

    BLT requires "some sort" of local environment that implements a LAMP stack. While we provide out of the box templates for Drupal VM, if you prefer you can use another tool such as Docker, Docksal, Lando, (other) Vagrant, or your own custom LAMP stack. BLT works with any local environment, however support is limited for these solutions.

    For instructions on setting up Drupal VM, read our documentation here.

  11. Run the initial setup:

    $ vagrant ssh
    $ blt setup
    
  12. Access the site and do necessary work at http://local.engage-cd.com by running this:

    $ drush uli
    

Additional BLT documentation may be useful. You may also access a list of BLT commands by running this:

$ blt

Note the following properties of this project:

Working With a BLT Project

BLT projects are designed to instill software development best practices (including git workflows).

Our BLT Developer documentation includes an example workflow.

Important Configuration Files

BLT uses a number of configuration (.yml or .json) files to define and customize behaviors. Some examples of these are:

  • blt/blt.yml (formerly blt/project.yml prior to BLT 9.x)
  • blt/local.blt.yml
  • box/config.yml (if using Drupal VM)
  • drush/sites (contains Drush aliases for this project)
  • composer.json (includes required components, including Drupal Modules, for this project)

Resources