Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Download the new API Management software.
  2. Shut down your API Management.
    To do this, run the following command from folder :

    Code Block
    docker-compose down
    Tip

    The docker-compose.yml can be found in the following folder:

    • API Managment 7.3.0 api-mgmt\single-host-setup\

    .
    • API Managment before 7.3.0 api-mgmt\

    Code Block
    docker-compose down
  3. Backup your API Management data as described on API Management Administration > Export/Import Data.
    Also backup the MySQL database and Elasticsearch. To  do this, use the following commands:

    Code Block
    docker-compose run --no-deps --rm -v $(pwd):/backup --entrypoint 'tar cvf /backup/mysql_data.tar /var/lib/mysql' mysql
    Code Block
    docker-compose run -uroot --no-deps --rm -v $(pwd):/backup --entrypoint 'tar cvf /backup/es_data.tar /usr/share/elasticsearch/data' elasticsearch

    Move the backup files to a safe location.

  4. Rename folder api-mgmt Rename the Docker configuration file .env of your API Management installation resides in to e.g. . env_backup. This file resides in folder api-mgmt\single-host-setup\.

    Unzip the downloaded software to the folder your API Management installation resides in.
    This will overwrite your current API Management installation.

    Note

    As this will also overwrite your Docker configuration file, make sure that you have renamed it as explained in step 4.

    NoteThis will also overwrite the docker-compose.yml of your installation. This is no problem, if you have stuck to the standard installation. However, if you have changed something, you need to backup this file, too, and merge your changes to the new file that is coming with the update_backup. This backups your current installation that will otherwise be overwritten by the update.
  5. Unzip the downloaded software from api-mgmt-<version>.zip. This creates a new folder api-mgmt containing the new version of API Management.

  6. Rework the configuration files.
    • If there are new configuration variables coming with the new software release (see API MANAGEMENT Release Notes), you need to merge the .env file of your installation (the one you have backup-ed in step 4)  with the new one coming with the update.

      Info

      As you have already an administrator account for your API Management installation, you can comment out the following lines in your .env file:

      # KEYCLOAK_ADMIN_USERNAME=username
      # KEYCLOAK_ADMIN_PASSWORD=password

    • If you did not stick to the standard installation and have made changes to the docker-compose.yml, you need to merge those changes into the new docker-compose.yml.

  7. Load the new software with

    Multiexcerpt include
    MultiExcerptNameload_docker_images
    PageWithExcerptINTERNAL:_api_excerpts

  8. Upgrade the MySQL database using the following commands:

    Code Block
    docker-compose up -d mysql
    
    Code Block
    docker exec -it mysql bash
    
    Code Block
    mysql_upgrade --password
    
    Info

    If you are asked for a password, use the password you specified in the .env file for MYSQL_ROOT_PASSWORD.

    Code Block
    exit
    
    Code Block
    docker-compose stop
  9. Multiexcerpt include
    MultiExcerptNamestart_all_containers
    PageWithExcerptINTERNAL:_api_excerpts
  10. Upload new configurations.
    If the new API Management software comes with new configurations (e.g. new policies, see API MANAGEMENT Release Notes), you need to import them to your installation. Import the file(s) as described on API Management Administration > Export/Import Data.
  11. After a successful update you may want to remove the old images to free up some disk space. In this case, just run

    Code Block
    docker image rm api-mgmt/NAME-VERSION

    For more clean up instructions refer to the docker documentation.

    Tip
    Also consider removing the backup files from step 3 as they consume a considerable amount of disk space.