spacebase / spacebasenz

Website for SpaceBase New Zealand
http://dev-spacebasenz.pantheonsite.io/
GNU General Public License v2.0
0 stars 0 forks source link

Platform.sh pipeline plan documentation #356

Open treasuretron opened 4 years ago

treasuretron commented 4 years ago

In GitLab by @richbodo on Mar 15, 2019, 06:14

Tom, correct me if I'm wrong on this in any way:

Although we won't change our current development pipeline, we will document our understanding of how it can be improved, and what steps are required, in as much detail as we can at this point, to get there.

treasuretron commented 4 years ago

In GitLab by @thomasmurphy on Mar 21, 2019, 21:01

2 kinds of errors we've seen so far: 1) Platform intermittently losing MySQL server connection, which causes Drupal config-import to fail 2) Entity UUID of content or group types not matching the dev database (eg if someone downloads a database from a branch or pr env), which can cause drush config-import to attempt to delete and recreate content or group types, which fails if they already have entities in the database, which causes the whole import to fail. These errors are visible when running

platform drush --environment=dev config-import

Using the platform CLI, but not as a part of the gitlab > platform pipeline automation.

When this happens, config on the dev DB then matches config pre-merge, and if the database is downloaded for local development on a different branch, and a developer runs

lando drush config-export

It will overwrite the yml in the config/sync directory of that branch with config from the previous commit, which may remove functionality previously merged in to dev when that new branch is also merged into dev.

Running

Lando composer install Lando drush updatedb lando drush config-import

After every merge into dev and before begging any development should massively reduce these kinds of errors. Adding this comment for cross-issue context but I will update the wiki around this issue soon.