SkyWalking OAP 10.2 发布策略的变更

1,029 阅读2分钟

自 2017 年加入 Apache 软件基金会 (ASF) 孵化器以来,SkyWalking 项目一直保持着一致的发布策略。多年来,我们持续将所有 OAP Server 和 UI 组件库上传至 Maven Central,从 6.0.0 版本开始一直到最新的 10.1.0 版本。这些版本可以在 Maven Central 的 org.apache.skywalking 中找到。

最初,将所有组件的 JAR 文件发布到 Maven Central 是必要的,因为早期的 SkyWalking 架构中,OAP Server、UI 和 Java Agent 共享同一个 monorepo(单一代码仓库)。其中,Java Agent 包含了一个工具库,许多用户通过 Maven Central 访问该库。然而,在 2021 年,我们将 Java Agent 分离到了独立的代码仓库 skywalking-java GitHub 仓库,简化了代码管理和发布工作流程。

随着时间推移,OAP 仓库显著扩展,新增了许多模块以支持高级功能。然而,这也使发布过程变得更加繁重和耗时。目前,准备一次发布需要超过 1 小时,其中 90% 的时间都花在将 JAR 文件上传到 Maven Central 上。我们认为这一步已不再必要,并且价值有限。


计划变更

进入 2025 年后,SkyWalking 社区将优化发布流程,具体变更如下:

2025 年开始skywalking-oap-server 的所有 JAR 文件将不再发布到 Maven Central。我们将通过以下渠道提供发布的构建文件:

  1. 源码 tar 包和二进制 tar 包:可在 SkyWalking 官方下载页面 获取。
  2. Docker 镜像:将发布到 Docker Hub,包括 OAP Server 和 UI。

对用户的影响

该变更对绝大多数用户(约 99%)是透明的。正如我们的 快速入门指南 中所示,您可以通过 Docker Compose 使用一条命令轻松部署 OAP Server、UI 和数据库:

Linux、macOS、Windows(WSL)

bash <(curl -sSL https://skywalking.apache.org/quickstart-docker.sh)

Windows(Powershell)

Invoke-Expression ([System.Text.Encoding]::UTF8.GetString((Invoke-WebRequest -Uri https://skywalking.apache.org/quickstart-docker.ps1 -UseBasicParsing).Content))

在运行脚本时,您将被提示选择存储类型,然后脚本会根据选择启动后端集群。

要停止集群,请运行以下命令:

docker compose --project-name=skywalking-quickstart down

对重新分发开发者的影响

如果您在项目中将 skywalking-oap-server 作为依赖项,请从官网获取源码 tar 包并将其发布到您的私有 Maven 仓库。您可以在变更详情中了解更多信息。


展望未来

通过去除将 OAP Server JAR 文件上传至 Maven Central 的步骤,SkyWalking 的发布流程将变得更加高效。这将使社区能够将更多精力集中在交付新功能和改善整体用户体验上。我们相信,这一变更不会对绝大多数用户的工作流产生影响。

感谢您对 Apache SkyWalking 项目的持续支持!如果您有任何问题或建议,欢迎通过我们的社区联系方式与我们交流。

SkyWalking 社区
2024 年底