- This repository is still a Work-in-Progress, and may be subject to slight alterations
-
Docker - Follow documentation at https://docs.amazee.io/local_docker_development/local_docker_development.html to configure local development environment.
-
Mac/Linux - Make sure you don't have anything running on port 80 on the host machine (like a web server):
gem install pygmy pygmy up
-
git clone https://github.com/amazeeio/amazeeio-docker-windows amazeeio-docker-windows; cd amazeeio-docker-windows docker-compose up -d; cd ..
-
Ahoy (optional) - The commands are listed in
.ahoy.yml
all include their docker-compose versions for use on Windows, or on systems without Ahoy.
-
Checkout project repo and confirm the path is in Docker's file sharing config (https://docs.docker.com/docker-for-mac/#file-sharing):
Mac/Linux: git clone https://www.github.com/govcms/govcms8-scaffold.git {INSERT_PROJECT_NAME} && cd $_ Windows: git clone https://www.github.com/govcms/govcms8-scaffold.git {INSERT_PROJECT_NAME}; cd {INSERT_PROJECT_NAME}
-
Build and start the containers:
Mac/Linux: ahoy up Windows: docker-compose up -d
-
Install GovCMS (only do this if you are building a new site - otherwise see the Databases section below):
Mac/Linux: ahoy install Windows: docker-compose exec -T test drush si -y govcms
-
Login to Drupal:
Mac/Linux: ahoy login Windows: docker-compose exec -T test drush uli
Additional commands are listed in .ahoy.yml
, or available from the command line ahoy -v
The GovCMS projects have been designed to be able to import a nightly copy of the latest master
branch database in two ways:
1: Using the GitLab container registry nightly backup
- these instructions are for https://projects.govcms.gov.au/{org}/{project}/container_registry
- copy the .env.default file to .env on your local
- remove the # from in front of #MARIADB_DATA_IMAGE=gitlab-registry-production.govcms.amazee.io/{org}/{project}/mariadb-drupal-data
- add a GitLab Personal Access Token with
read_registry
scope (profile/personal_access_tokens) docker login gitlab-registry-production.govcms.amazee.io
(and use the PAT created above as the password)ahoy up
(or the docker-compose equivalent)- to refresh the db with a newer version, run
ahoy up
again
2: Use the backups accessible via the UI
- head to https://dashboard.govcms.gov.au/backups?name={project}-master
- click "Prepare download" for the most recent mysql backup you want - note that you will have to refresh the page to see when it is complete.
- download that backup into your project folder.
ahoy mysql-import
to import the dump you just saved
- You should create your theme(s) in folders under
/themes
- Tests specific to your site can be committed to the
/tests
folders - The files folder is not (currently) committed to GitLab.
- Do not make changes to
docker-compose.yml
,lagoon.yml
,.gitlab-ci.yml
or the Dockerfiles under/.docker
- these will result in your project being unable to deploy to GovCMS SaaS
This project is designed to provision a Drupal 8 project onto GovCMS SaaS, using the GovCMS8 distribution, and has been prepared thus
- The vanilla GovCMS8 Distribution is available at Github Source and as Public DockerHub images
- Those GovCMS8 images are then customised for Lagoon and GovCMS, and are available at Github Source and as Public DockerHub images
- Those GovCMS8lagoon images are then retrieved in this scaffold repository.
GovCMS8 has default configuration management built in. It assumes all configuration is tracked (in config/default
).
-
Export latest configuration to
config/default
:Mac/Linux: ahoy cex Windows: docker-compose exec -T test drush cex sync
-
Import any configuration changes from
config/default
:Mac/Linux: ahoy cim Windows: docker-compose exec -T test drush cim sync
-
Import development environment configuration overrides:
Mac/Linux: ahoy cim dev Windows: docker-compose exec -T test drush cim dev --partial
Note: Configuration overrides are snippets of configuration that may be imported over the base configuration. These (optional) files should exist in config/dev
.
For example a development project may include a file such as config/dev/shield.settings.yml
which provides Shield authentication configuration that would only apply to a development environment, not production.