From 77f4c8d0e97089644d57ccb263c1aa2011578677 Mon Sep 17 00:00:00 2001 From: joshdentremont Date: Wed, 4 Oct 2023 16:43:02 -0300 Subject: [PATCH 1/3] Update docker-maintain-isle.md Adding instructions for updating major versions of buildkit --- docs/installation/docker-maintain-isle.md | 59 ++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/docs/installation/docker-maintain-isle.md b/docs/installation/docker-maintain-isle.md index 24c406f9a..a9e2e9d25 100644 --- a/docs/installation/docker-maintain-isle.md +++ b/docs/installation/docker-maintain-isle.md @@ -14,6 +14,11 @@ be boiled down to a handful of simple commands. That's exactly what ISLE does! ## Updating ISLE +!!! Updating your isle-dc repository + Before we update ISLE we should pull the most recent version of the isle-dc repository. This ensures that our `docker-compose.yml` file has any new additions that the new version of ISLE will need. + + You may also want to check your `.env` file against the `sample.env` found in the repository to see if there are new variables you wish to make use of. + Updating ISLE is easy. When a new release is made available, you update the `TAG` variable in your `.env` file to the latest version. Suppose you are on ISLE 1.0.0, and ISLE 1.1.0 has been released. Then we would set @@ -22,6 +27,12 @@ Then we would set TAG=1.1.0 ``` +Before we update our `docker-compose.yml` file we want to stop the running containers with + +``` +make down +``` + We'll then generate a new `docker-compose.yml` file that includes the new tag with ``` @@ -37,7 +48,7 @@ make pull And finally we deploy the updated containers by running ``` -docker-compose up -d +make up ``` You can check that everything is running at the version you've specified with @@ -47,3 +58,49 @@ docker ps -a ``` The version that's running can be confirmed by looking at the `IMAGE` column in the output. + +### Major Version Updates + +Major version updates may require a bit more work after the new containers are up and running, if the new images are +running higher major versions of software. For example, if there has been an update to PHP or Solr. + +#### Solr + +When upgrading to a new major version of Solr, you need to regenerate a new set of config files. You will need to do this on both +your development site, and your production site. + +First, remove the old solr data. This will remove everything that has been indexed, so we will have to reindex our site in a later step. + +``` +docker compose exec -T solr with-contenv bash -lc 'rm -r server/solr/ISLANDORA' +``` + +Next, recreate our solr core with a new set of config files. + +``` +make solr-cores +``` + +Finally, we reindex our site. + +``` +make reindex-solr +``` + +#### Drupal + +Drupal updates will be handled by your composer.json file, but you may require a certain version of ISLE in order to have the correct +version of PHP. Once you have the correct PHP version installed, you can update Drupal to a new major version in the same way you +normally update modules. It may be helpful to reference the Starter Site's composer.json file at +https://github.com/Islandora-Devops/islandora-starter-site/blob/main/composer.json + +Once you have done this on your development site, the process for your production site is the same as any other Drupal updates. + +### Specific Update Notes + +#### Version 1.x to 2.x + +Upgrading ISLE from 1.x to the next major version requires the TAG be set to 2.0.3 or higher. Once you create your containers +you will need to follow the above instructions for Solr and Drupal. + +ISLE 2.0 bumps PHP up to version 8.1, which allows you to upgrade to Drupal 10. From 048d347376d199d2cefb2318eb55a7c60ebf32e0 Mon Sep 17 00:00:00 2001 From: joshdentremont Date: Wed, 25 Oct 2023 11:58:57 -0300 Subject: [PATCH 2/3] added instructions for updating mariadb --- docs/installation/docker-maintain-isle.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/installation/docker-maintain-isle.md b/docs/installation/docker-maintain-isle.md index a9e2e9d25..0d4db6907 100644 --- a/docs/installation/docker-maintain-isle.md +++ b/docs/installation/docker-maintain-isle.md @@ -96,11 +96,16 @@ https://github.com/Islandora-Devops/islandora-starter-site/blob/main/composer.js Once you have done this on your development site, the process for your production site is the same as any other Drupal updates. +#### Mariadb + +After updating Mariadb, you may need to run [mariadb-upgrade](https://mariadb.com/kb/en/mariadb-upgrade/) to update your system tables. +This should be safe to run any time, but it is a good idea to back up your database first, just in case. + ### Specific Update Notes #### Version 1.x to 2.x -Upgrading ISLE from 1.x to the next major version requires the TAG be set to 2.0.3 or higher. Once you create your containers -you will need to follow the above instructions for Solr and Drupal. +Upgrading ISLE from 1.x to the next major version requires the TAG be set to 2.0.5 or higher. Once you create your containers +you will need to follow the above instructions for Mariadb, Solr, and Drupal. ISLE 2.0 bumps PHP up to version 8.1, which allows you to upgrade to Drupal 10. From 3ada976c12ef283a26e42df90968877fdc092951 Mon Sep 17 00:00:00 2001 From: joshdentremont Date: Wed, 25 Oct 2023 12:11:20 -0300 Subject: [PATCH 3/3] added instructions on how to run mariadb-upgrade --- docs/installation/docker-maintain-isle.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/installation/docker-maintain-isle.md b/docs/installation/docker-maintain-isle.md index 0d4db6907..675b626f2 100644 --- a/docs/installation/docker-maintain-isle.md +++ b/docs/installation/docker-maintain-isle.md @@ -98,9 +98,14 @@ Once you have done this on your development site, the process for your productio #### Mariadb -After updating Mariadb, you may need to run [mariadb-upgrade](https://mariadb.com/kb/en/mariadb-upgrade/) to update your system tables. +After updating Mariadb, you may need to run [mariadb-upgrade](https://mariadb.com/kb/en/mariadb-upgrade/) inside your mariadb container, to update your system tables. This should be safe to run any time, but it is a good idea to back up your database first, just in case. +You can run this from your isle directory with +``` +docker compose exec mariadb mariadb-upgrade +``` + ### Specific Update Notes #### Version 1.x to 2.x