Find a file
Oliver Davies cae2091436 build(deps): remove discoverable_entity_bundle_classes
As this module is no longer supported, remove it from the codebase and
update all references to it within the custom code - instead manually
wrapping nodes with the `Post` or `Talk` class, or returning it from a
Repository.

Fixes: #465
2021-12-17 23:05:41 +00:00
.github refactor: move more into the ci:deploy task 2021-12-09 22:24:11 +00:00
assets Add sitemaps to robots.txt 2021-03-05 19:58:40 +00:00
config build(deps): remove discoverable_entity_bundle_classes 2021-12-17 23:05:41 +00:00
config_splits/live Remove stage_file_proxy from live split 2021-03-06 11:19:30 +00:00
tools build(docker): add unzip 2021-12-17 15:12:04 +00:00
web build(deps): remove discoverable_entity_bundle_classes 2021-12-17 23:05:41 +00:00
.docker.env.example Add Docker and Docker Compose 2021-02-11 08:53:15 +00:00
.dockerignore Add Docker and Docker Compose 2021-02-11 08:53:15 +00:00
.env.example Add Platform.sh required files 2021-02-11 08:53:16 +00:00
.environment Add Platform.sh required files 2021-02-11 08:53:16 +00:00
.gitignore build(run): add the run script 2021-12-03 08:44:26 +00:00
composer.json build(deps): remove discoverable_entity_bundle_classes 2021-12-17 23:05:41 +00:00
composer.lock build(deps): remove discoverable_entity_bundle_classes 2021-12-17 23:05:41 +00:00
docker-compose.yaml ci: copy theme assets from Docker container 2021-12-15 00:11:00 +00:00
phpcs.xml.dist Refactor to exclude rules rather than change severity 2020-12-17 23:42:20 +00:00
phpstan-baseline.neon build(deps): remove discoverable_entity_bundle_classes 2021-12-17 23:05:41 +00:00
phpstan.neon build(deps): remove discoverable_entity_bundle_classes 2021-12-17 23:05:41 +00:00
phpunit.xml.dist Update SIMPLETEST_BASE_URL 2020-10-24 19:38:57 +01:00
README.md docs: reference the run script in instructions 2021-11-27 10:18:58 +00:00
run ci: copy theme assets from Docker container 2021-12-15 00:11:00 +00:00

oliverdavies.uk

Hosting

This site is hosted on a DigitalOcean droplet, which was created using Ansible (see tools/deployment/digitalocean.yml).

Provisioning

To re-provision the server:

# Download the required roles
ansible-galaxy install -r tools/deployment/requirements.yml --force

# Run the provision playbook
ansible-playbook tools/deployment/provision.yml

Deploying

Deployments for this site for managed with Ansible and Ansistrano. Ansible Vault is used to manage sensitive information like database passwords.

Deployments are triggered automatically when changes are pushed to GitHub, and are performed automatically via GitHub Actions on each push to the production branch.

To run a deployment manually, run ansible-playbook tools/deployment/deploy.yml --ask-vault-pass. The Vault password is stored in LastPass.

Generating settings files

Production settings files are generated automatically during a deployment. This is done using the opdavies.drupal_settings_files Ansible role, using variables from tools/deployment/vars/deploy_vars.yml, and performed during Ansistranos After update code build step.

Local development

Migrating data into the website

To view the status of all the migrations:

./run drush migrate:status

To run all the migrations:

./run drush migrate:import --all

To run all the migrations and update the existing migrated content:

./run drush migrate:import --all --update

Updating Drupal core

Updating Drupal core (and anything else) can be done using Composer. As this project is built using the Drupal core recommended project, all of the dependencies need to be updated:

./run composer update drupal/core-* --with-all-dependencies

Once this has completed, the updated composer.lock file can be committed and pushed.

Talks ordering

In order to keep the talks page in the correct order, based on when the next time a talk is being given, the created date for the talk node is automatically updated on each save to match the date of the most future event for that talk.

The view is then sorting the talk nodes based on their created date.