A brief description of My Project.
Remove this section after initial setup!
Search for and replace the following placeholders within this file:
Placeholder | Example |
---|---|
#ACQUIA_CLOUD_URL |
https://cloud.acquia.com/app/develop/applications/12345678-1234-1234-12345678901234567 |
#GIT_PRIMARY_DEV_BRANCH |
master or develop |
#GITHUB_ORG |
The "org" in https://github.com/org/project |
#GITHUB_PROJECT |
The "project" in https://github.com/org/project |
#JIRA_URL |
https://org.atlassian.net/projects/PROJ |
#LOCAL_DEV_SITE_ALIAS |
@example.local |
#LOCAL_DEV_URL |
http://local.example.com/ |
#TRAVIS_URL |
https://travis-ci.com/org/PROJ |
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.
-
Review the Required / Recommended Skills for working with a BLT project.
-
Ensure that your computer meets the minimum installation requirements (and then install the required applications). See the System Requirements.
-
Request access to organization that owns the project repo in GitHub (if needed).
-
Fork the project repository in GitHub.
-
Request access to the Acquia Cloud Environment for your project (if needed).
-
Setup a SSH key that can be used for GitHub and the Acquia Cloud (you CAN use the same key).
-
Clone your forked repository. By default, Git names this "origin" on your local.
$ git clone [email protected]:<account>/#GITHUB_PROJECT.git
-
To ensure that upstream changes to the parent repository may be tracked, add the upstream locally as well.
$ git remote add upstream [email protected]:#GITHUB_ORG/#GITHUB_PROJECT.git
-
Update your the configuration located in the
/blt/blt.yml
file to match your site's needs. See configuration files for other important configuration files.
BLT provides an automation layer for testing, building, and launching Drupal 8 applications. For ease when updating codebase it is recommended to use Drupal VM. If you prefer, you can use another tool such as Docker, DDEV, Docksal, Lando, (other) Vagrant, or your own custom LAMP stack, however support is very limited for these solutions.
-
Install Composer dependencies. After you have forked, cloned the project and setup your blt.yml file install Composer Dependencies. (Warning: this can take some time based on internet speeds.)
$ composer install
-
Setup VM. Setup the VM with the configuration from this repositories configuration files.
$ vagrant up
-
Setup a local blt alias. If the blt alias is not available use this command outside and inside vagrant (one time only).
$ composer run-script blt-alias
-
SSH into your VM. SSH into your localized Drupal VM environment automated with the BLT launch and automation tools.
$ vagrant ssh
-
Setup a local Drupal site with an empty database. Use BLT to setup the site with configuration. If it is a multisite you can identify a specific site.
$ blt setup
or
$ blt setup --site=[sitename]
-
Log into your site with drush. Access the site and do necessary work at #LOCAL_DEV_URL by running the following commands.
$ cd docroot $ drush uli
-
Set up frontend build and theme. By default BLT sets up a site with the lightning profile and a cog base theme. You can choose your own profile before setup in the blt.yml file. If you do choose to use cog, see Cog's documentation for installation. See BLT's Frontend docs to see how to automate the theme requirements and frontend tests. After the initial theme setup you can configure
blt/blt.yml
to install and configure your frontend dependencies withblt setup
. -
Pull Files locally. Use BLT to pull all files down from your Cloud environment.
$ blt drupal:sync:files
-
Sync the Cloud Database. If you have an existing database you can use BLT to pull down the database from your Cloud environment.
$ blt sync
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:
- Primary development branch: #GIT_PRIMARY_DEV_BRANCH
- Local environment: #LOCAL_DEV_SITE_ALIAS
- Local site URL: #LOCAL_DEV_URL
BLT projects are designed to instill software development best practices (including git workflows).
Our BLT Developer documentation includes an example workflow.
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
(local only specific blt configuration)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)
- JIRA - #JIRA_URL
- GitHub - https://github.com/#GITHUB_ORG/#GITHUB_PROJECT
- Acquia Cloud subscription - #ACQUIA_CLOUD_URL
- TravisCI - #TRAVIS_URL