为 Bintray 停运做准备:如何迁移
Bintray,我们团队目前用于分发软件包的服务之一,将于 2021 年 5 月 1 日停运。
本文将介绍 RabbitMQ 社区目前可用的或将在停运日期前提供的替代服务。
今后将不再向 Bintray 发布新版本。如果在 5 月 1 日之前未从 Bintray 切换的用户,其部署将开始失败。我们强烈建议将迁移出 Bintray 作为一项重要且紧急的任务。
巨大的挑战
Bintray 多年来一直很好地服务于我们的社区。JFrog 团队在我们定制的开源项目限制方面非常慷慨,并且在我们的请求方面普遍乐于助人。
RabbitMQ 分发多种软件包类型,包括针对多个发行版的现代 Erlang 软件包,Bintray 兼容了所有这些。
一些专门的软件包托管服务无法单独取代 Bintray。这意味着迁移选项将根据您使用的软件包类型而有所不同。
在下一节中,我们将介绍当今可用的选项,并提及另一项即将推出的选项。
Bintray 停运后的选择
您应该迁移到哪个服务取决于您如何部署 RabbitMQ。
Team RabbitMQ 已经在几个地方发布了发布构件
- GitHub RabbitMQ 发布版本:分发所有软件包类型以及 Debian 软件包源文件
- PackageCloud:此存储库提供 Debian 和 RPM 软件包
我们的团队计划在上述选项之外采用 Cloudsmith.io。Cloudsmith 支持多种软件包类型,并且我们已经在此方面获得了初步的良好体验。通过 Launchpad 发布 RabbitMQ Debian 软件包也正在考虑中。
此外,我们的团队通过以下方式生产和分发现代 Erlang 版本的软件包:
- Launchpad PPA 用于 Ubuntu 和 Debian
- GitHub 零依赖 Erlang RPM 发布版本
Docker 社区镜像和 Kubernetes Operator
如果这是通过 Docker 社区镜像,那么对您来说**没有任何变化**,因为该镜像不依赖 Bintray,也不通过 Bintray 分发。
对于 RabbitMQ Kubernetes Operator 用户来说,这同样适用。
二进制构建
RabbitMQ 二进制构建(又名通用 UNIX 构建)最好从 GitHub 发布版本获取。
如果您目前从 Bintray 获取这些软件包,只需更新下载位置以使用 GitHub 发布版本即可。
Windows 软件包
使用 Chocolatey 的 Windows 用户不受此次迁移的影响。
RabbitMQ 安装程序和 Windows 二进制构建用户现在应该从 GitHub 发布版本获取。
现代 Erlang 的 Debian 软件包
Team RabbitMQ 的 现代 Erlang 的 Debian 软件包已迁至 Launchpad PPA。
虽然 Launchpad 是一个面向 Ubuntu 的服务,但 Debian 用户也可以 将其用作常规 apt 仓库。
这些软件包也可 从 Cloudsmith.io 获取。
要进行迁移,请删除 `/etc/apt/sources.list.d` 下的现有 .list 文件,并按照 Debian 安装文档指南中的说明安装新的文件。
接下来,导入 Launchpad 仓库使用的 签名密钥。
最后,运行
sudo apt update -y
并重新安装软件包。
RabbitMQ 的 Debian 软件包
RabbitMQ Debian 软件包的可用选项如下:
- 使用 PackageCloud 上的 apt 仓库,包括一个 快速入门示例
- 使用 GitHub 的 直接下载,并使用
dpkg在本地安装其 依赖项。
我们的团队计划在不久的将来也通过 Cloudsmith.io 分发此软件包。
要进行迁移,请删除 `/etc/apt/sources.list.d` 下的现有 .list 文件,并按照 Debian 安装文档指南中的说明安装新的文件。
接下来,导入 PackageCloud 仓库使用的 签名密钥。
最后,运行
sudo apt update -y
并重新安装软件包。
现代 Erlang 的 RPM 软件包
Team RabbitMQ 自有的 零依赖 Erlang RPM 可以通过几种方式获取:
- 使用 PackageCloud 上的 Yum 仓库
- 使用 GitHub 发布版本的直接下载,并使用
rpm install在本地安装软件包。
我们的团队计划在不久的将来也通过 Cloudsmith.io 分发此软件包。
要进行迁移,请删除 `/etc/yum.repos.d/` 下的现有 .repo 文件,并按照 RPM 安装文档指南中的说明安装新的文件。
然后运行
sudo yum clean all
sudo yum update -y
并重新安装软件包。
RabbitMQ 的 RPM 软件包
RabbitMQ RPM 软件包的选项与上面列出的我们零依赖 Erlang RPM 的选项相匹配:
- 使用 PackageCloud 上的 Yum 仓库。这将涵盖 RHEL、CentOS、现代 Fedora 和 openSUSE。
- 使用 GitHub 的 直接下载,并使用
rpm install在本地安装其 依赖项。
我们的团队计划在不久的将来也通过 Cloudsmith.io 分发此软件包。
要进行迁移,请删除 `/etc/yum.repos.d/` 下的现有 .repo 文件,并按照 RPM 安装文档指南中的说明安装新的文件。
然后运行
sudo yum clean all
sudo yum update -y
并重新安装软件包。
反馈
如果您有任何疑问或反馈,请在 RabbitMQ 社区 Slack 的 #usage-questions 和 #core-and-plugin-dev 频道中分享。
