Upgrading to Xray 3.70.0 or later from an Xray version prior to 3.70.0
If you are upgrading to Xray 3.70.0 or later from an Xray version prior to 3.70.0, your installation contains RabbitMQ 3.8.x. Feature flags in RabbitMQ have to be enabled before you can upgrade, since Xray 3.70.0 and later contains RabbitMQ 3.11.x and later.
Before you proceed with the upgrade, go to RabbitMQ Upgrade to version 3.11.x and set feature flags in RabbitMQ.
Download Xray (Docker Compose).
Stop the current server.
Stop Xray
docker-compose -p xray down
Extract the contents of the compressed archive and go to the extracted folder.
Untar
tar -xvf jfrog-xray-<version>-compose.tar.gz
.env file included within the Docker-Compose archive
This .env file is used by docker-compose and is updated during installations and upgrades.
Notice that some operating systems do not display dot files by default. If you've made any changes to the file, remember to backup before an upgrade.
Copy the docker-compose template from the templates folder to the extracted folder. Rename it as
docker-compose.yaml
. Ensure that you use the same template as you did during the installation.Docker for Mac
When you use Docker Compose in Mac,
/etc/localtime
might not work as expected since it might not be a shared location in the docker-for-mac settings.You can remove the following line from the selected template file to avoid installation issues.
- /etc/localtime:/etc/localtime:ro
Requirement
Template
Xray
docker-compose.yaml
RabbitMQ
docker-compose-rabbitmq.yaml
PostgreSQL
docker-compose-postgres.yaml
Update the .env file and ensure that you use the same values when you did the installation.
## The Installation directory for Xray. If not entered, the script will prompt you for this input. Default [$HOME/.jfrog/xray] ROOT_DATA_DIR= # Host ID. Other nodes in the cluster will use this ID to identify this node HOST_ID= # ID of the active node. Please leave the value as "None" for active nodes. (shared.rabbitMq.active.node.name). JF_SHARED_RABBITMQ_ACTIVE_NODE_NAME=None # IP of the active node. (shared.rabbitMq.active.node.ip) JF_SHARED_RABBITMQ_ACTIVE_NODE_IP=127.0.0.1 # Bind IP for Internal ports of Third party applications JF_THIRD_PARTY_BIND_IP=127.0.0.1
Start Xray and PostgreSQL using docker-compose commands.
## RabbitMQ needs to be started before starting other services docker-compose -p xray-rabbitmq -f docker-compose-rabbitmq.yaml up -d ## From Xray 3.8.x, PostgreSQL needs to be started before starting the other services. docker-compose -p xray-postgres -f docker-compose-postgres.yaml up -d docker-compose -p xray up -d ## Check whether service is up docker-compose -p xray ps
Access Xray from your browser at:http://<jfrogUrl>/ui/, go theDashboard tab in theApplicationmodule in the UI.
Check Xray Log.
docker ps docker-compose -p xray logs
Configure log rotation of the console log
The
console.log
file can grow quickly since all services write to it. For more information, see configure the log rotation.
RabbitMQ Upgrade to version 3.11.x
Xray version 3.70.0 and later includes RabbitMQ version 3.11.x later. An upgrade to Rabbit MQ 3.11.x requires feature flags to be enabled. For more information, refer to Required Feature Flags in RabbitMQ 3.11.0.
Enable Feature Flags in Docker Compose
Run the following command inside the RabbitMQ container.
rabbitmqctl enable_feature_flag all