This dev environment makes it easier to work on:
This is a Drupal 8 with Composer installation pre-configured for use with Docksal.
Features:
- Drupal 8 Composer Project
fin init
example- Using the default Docksal LAMP stack with image version pinning
- PHP and MySQL settings overrides examples
This is a one time setup - skip this if you already have a working Docksal environment.
Follow Docksal environment setup instructions
-
Clone this repo into your Projects directory
git clone --recurse-submodules -j8 https://github.com/cybtachyon/patternkit_env.git cd patternkit_env
Forget to use
--recurse-submodules
? Usegit submodule update --init --recursive
. -
Initialize the site
This will initialize local settings and install the site via drush
fin init
-
Point your browser to https://patternkitenv.docksal
When the automated install is complete the command line output will display the admin username and password.
This project ships with an experimental IDE you can set up via fin ide
.
Site provisioning can be automated using fin init
, which calls the shell script in .docksal/commands/init.
This script is meant to be modified per project. The one in this repo will give you a good starting example.
Some common tasks that can be handled by the init script (an other custom commands):
- initialize local settings files for Docker Compose, Drupal, Behat, etc.
- import DB or perform a site install
- compile Sass
- run DB updates, revert features, clear caches, etc.
- enable/disable modules, update variables values
This repo is intended for quick start demos and includes a hardcoded value for hash_salt
in settings.php
.
If you are basing your project code base on this repo, make sure you regenerate and update the hash_salt
value.
A new value can be generated with drush ev '$hash = Drupal\Component\Utility\Crypt::randomBytesBase64(55); print $hash . "\n";'
This repo uses git sub-modules to make it easier to develop for Patternkit and its first-class theme PatternFly.
To make it easier, you can use the fin feature-start
command to start working on new features.
This executes the following:
git fetch origin
git add .
git stash save -u "Automatic stash via fin feature-start."
git checkout -f master
git rebase origin/master
git submodule update --rebase --remote
git checkout -b feature/"${USERNAME}"/${1}