Upgrading multi-node Docker deployments
Follow these steps to upgrade an XL Release active-active cluster setup:
Note: Make sure to read the documentation for upgrade and release notes for each version you want to upgrade to.
Stop the current running instances of the Docker containers which have the old version that needs to be upgraded. You do not need to stop the load balancer, mq and database containers. See the following example:
# Shutdown deployments docker-compose -f docker-compose-xlr-ha.yaml stop xl-release-master
docker-compose-xlr-ha.yamlfile as shown
Update the image with a new tag which represents the version you want to upgrade to for both master and worker. For example:
xl-release-master: image: xebialabs/xl-release:9.5.2
- Specify your database connection details to point to the old database; for example using environment variables such as
- Include all volumes already being used with old Docker images. In case of the “conf” volume, make sure also to update any configurations required by the new version “check release notes”, before mounting it to new version of the container.
Update the environment variables to include
environment: - FORCE_UPGRADE=true
- You can use the following
run.shscript to bring up the setup, or do it manually. Update the passwords to represent passwords used in previous version.
#!/bin/bash # Set passwords export XLR_ADMIN_PASS=admin export POSTGRES_PASS=admin echo ">>> Deploy master nodes" # deploy master nodes, load balancer, mq and database. docker-compose -f docker-compose-xlr-ha.yaml up --scale xl-release-master=2 -d || exit # Print out the status docker-compose -f docker-compose-xlr-ha.yaml ps || exit # # Cleanup # docker-compose -f docker-compose-xlr-ha.yaml down
- You can view the logs of individual containers using the
docker logs <container_name> -fcommand.
- You can access the XL Release UI at http://localhost:8081