Upgrading Multi-Node Docker Deployments
Follow these steps to upgrade a 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
-
Update the
docker-compose-xlr-ha.yaml
file 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
XL_DB_URL
- 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
FORCE_UPGRADE
:
environment:
- FORCE_UPGRADE=true
- You can use the following
run.sh
script 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> -f
command. - You can access the Release UI at
http://localhost:8081
.