Xray Single Node Linux Archive Upgrade

JFrog Installation & Setup Documentation

Content Type
Installation & Setup

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.

Note

Remember to back up the RabbitMQ password and to add it back to the rabbitmq.conf file.

  1. Stop the current server.

    Stop Xray

    cd $JFROG_HOME/xray/app/bin
    ./xray.sh stop
  2. Extract the contents of the compressed archive and go to the extracted folder.

    Untar

    mv jfrog-xray-<version>-linux.tar.gz /opt/jfrog/
    cd /opt/jfrog
    tar -xf jfrog-xray-<version>-linux.tar.gz

    Note

    Starting from Xray 3.8.x, RabbitMQ bundled with Xray has been upgraded, and the Erlang library requires an upgrade (You might need to remove the Erlang package from your installation and install the latest version). This library can be found on $JFROG_HOME/xray/app/third-party.

    Example for Deb:

    dpkg --purge --force-all esl-erlangcd jfrog-xray-&lt;version&gt;-linux/app/third-party/rabbitmqdpkg -i esl-erlang_26.1.2-1~debian~bullseye_amd64.debsystemctl start xray.service

    Example for RPM:

    rpm -e --nodeps erlangcd jfrog-xray-&lt;version&gt;-linux/app/third-party/rabbitmqrpm -ivh erlang-26.1.2-1.el8.x86_64.rpmsystemctl start xray.service

  3. Replace the existing $JFROG_HOME/xray/app with the new app folder.

    Upgrade

    # Export variables to simplify commands
    export JFROG_HOME=/opt/jfrog
    export JF_NEW_VERSION=/opt/jfrog/jfrog-xray-<version>-linux
    
    # Remove app
    rm -rf $JFROG_HOME/xray/app
    
    # Copy new app
    cp -fr $JF_NEW_VERSION/app $JFROG_HOME/xray/
    
    # Remove extracted new version
    rm -rf $JF_NEW_VERSION
  4. Manage Xray.

    $JFROG_HOME/xray/app/bin/xray.sh start|stop
  5. Access Xray from your browser at:http://<jfrogUrl>/ui/, go theDashboard tab in theApplicationmodule in the UI.

  6. Check Xray Log.

    tail -f $JFROG_HOME/xray/var/log/console.log
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 Linux Installations

You need to manually run the migration operation for RabbitMQ before you start Xray upgrade for your Linux installation (RPM, Debian, and Linux Archive).

Run the following command in the nodes that run RabbitMQ.

sudo -H -u xray bash -c 'export RABBITMQ_FEATURE_FLAGS="drop_unroutable_metric,empty_basic_get_metric,implicit_default_bindings,maintenance_mode_status,quorum_queue,stream_queue,user_limits,virtual_host_metadata"'
sudo -H -u xray bash -c '/opt/jfrog/xray/app/third-party/rabbitmq/sbin/rabbitmqctl enable_feature_flag all'