Upgrade
Upgrade Options
Option 1: Update the image tags to a newer version
This is recommended way to upgrade your instance, it is the easiest way to go. However, the docker-compose.yml or the helm chart might change over time (e.g., a new persistent volume is required for new feature to work properly), you may have to adopt these changes manually or opt for the next option.
Option 2: Deploy a new instance while keeping the configuration
- Dump the
.envfile from the existingdevlakecontainer and shut it down - Fire up the new container with the
.envfile mounted to the correct path
Two Things to Note
Database migration. Starting from Release v0.10.0 · apache/incubator-devlake, DevLake auto-migrates your table schema and records to the newer version. Normally you don't need to do anything for the migration. However, please keep in mind the migration is one-way only, downgrade is not supported. Please consider backing up your database if there's any data you'd like to keep.
Preserve the
.envfile. DevLake reads and writes some configurations from/to the.envfile. An example is theENCODE_KEYgenerated by thedevlakecontainer during the first boot.ENCODE_KEYis used to encrypt sensitve information in the database, e.g., personal access tokens and passwords. Normally, users don't need to worry about the.envfile during upgrade. But in the following scenarios, users may want to back up the.envfile:- When a user deploys a new DevLake instance and points it to an existing cloud managed database. Since the existing database is encrypted with the
ENCODE_KEYin the.envfile, the user needs to port the old.envfile to the new DevLake instance. - When a user deploys DevLake to AWS ECS but did not properly persist the
.envfile.
To back up
.envfile, users can log into thedevlakecontainer and dump the file somewhere else. The file path in the container is/app/.envor/app/config/.envif you were usinghelm(unless theENV_PATHenvironment variable is specified).- When a user deploys a new DevLake instance and points it to an existing cloud managed database. Since the existing database is encrypted with the