Skip to main content

Preparing for the Bintray Shutdown: How to Migrate

· 5 min read

Bintray, one of the services our team currently uses to distribute packages, is shutting down on May 1st, 2021.

This post explains what alternative services are available for the RabbitMQ community today or will be before the shutdown date.

No new releases will be published to Bintray going forward. Those who do not switch from Bintray before May 1st will see their deployments begin failing. We highly recommend making migration off of Bintray both an important and urgent task.

Big Shoes to Fill

Bintray has served our community well for years. The JFrog team were very generous with our customized open source project limits and in general helpful with our requests.

RabbitMQ distributes multiple package types, including modern Erlang packages for several distributions, and Bintray acommodated all of them.

Some package hosting services specialize won't be able to replace Bintray alone. This means that the migration options will differ depending on what package type you use.

In the next section we will cover the options available today and mention another one that is coming down the line.

The Post-Bintray Era Options

What service you should migrate to depends on how you provision RabbitMQ.

Team RabbitMQ already publishes release artifacts to a few places:

Our team plans to adopt Cloudsmith.io in addition to the above options. Cloudsmith supports multiple package types and we have had promising initial experience with it. Publishing RabbitMQ Debian packages via Launchpad is also under consideration.

In addition, our team produces and distributes packages of modern Erlang versions via

Docker Community Image and Kubernetes Operator

If this is via the Docker community image, then nothing changes for you as the image does not depend on Bintray and is not distributed via Bintray.

This is equally true for the RabbitMQ Kubernetes Operator users.

Binary Builds

RabbitMQ binary builds (a.k.a. generic UNIX builds) are best consumed from GitHub releases.

If you currently consume these packages from Bintray, updating the download location to use GitHub releases is all there is to do.

Windows Packages

Windows users who use Chocolatey are not affected by this transition.

RabbitMQ installer and Windows binary build users should now consume from GitHub releases.

Debian Packages of Modern Erlang

Team RabbitMQ's Debian packages of modern Erlang has found a new home in a Launchpad PPA.

While Launchpad is an Ubuntu-oriented service, it can also be used as a regular apt repository by Debian users.

These packages are also available from Cloudsmith.io.

In order to migrate, remove the existing .list file under /etc/apt/sources.list.d and install a new one as explained in the Debian installation doc guide.

Next, import the signing key used by the Launchpad repository.

Finally, run

sudo apt update -y

and re-install the packages.

Debian Packages of RabbitMQ

The options available for RabbitMQ Debian packages are as follows:

Our team plans to also distribute this package via Cloudsmith.io in the near future.

In order to migrate, remove the existing .list file under /etc/apt/sources.list.d and install a new one as explained in the Debian installation doc guide.

Next, import the signing key used by the PackageCloud repository.

Finally, run

sudo apt update -y

and re-install the packages.

RPM Packages of Modern Erlang

Team RabbitMQ's own zero dependency Erlang RPM can be consumed in a couple of ways:

Our team plans to also distribute this package via Cloudsmith.io in the near future.

In order to migrate, remove the existing .repo file under /etc/yum.repos.d/ and install a new one as explained in the RPM installation doc guide.

Then run

sudo yum clean all
sudo yum update -y

and re-install the packages.

RPM Packages of RabbitMQ

The options for RabbitMQ RPM packages match to those listed above for our zero-dependency Erlang RPM:

Our team plans to also distribute this package via Cloudsmith.io in the near future.

In order to migrate, remove the existing .repo file under /etc/yum.repos.d/ and install a new one as explained in the RPM installation doc guide.

Then run

sudo yum clean all
sudo yum update -y

and re-install the packages.

Feedback

If you have any questions or feedback, please share it in the RabbitMQ community Slack in the #usage-questions and #core-and-plugin-dev channels.