警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

如何释放

本页试图记录我们制作 ROS 2 新测试版的过程。

我们通常不会在发布前分支,而是 "冻结 "已使用的分支。在测试阶段,确保没有不必要的变更提交到该分支。使用打包工作或源代码构建产生的工件进行迭代测试,并做出必要的修改。一旦当前状态可以发布,请按照以下步骤操作:

  • 使用主版本库获取所有版本库的全新副本 ros2.repos 文件.

    • 卷曲 https://raw.githubusercontent.com/ros2/ros2/master/ros2.repos | vcs 舶来品 ./src

  • 更新(大部分)软件包的版本号(不包括有自己编号方案的软件包)。同时更新所有有 setup.py 的 python 软件包的版本号。

    • 提交并推送这些更改: vcs 风俗 ./src --参数 承诺 -m "beta N"; -a, vcs 风俗 ./src --参数 推动

  • 创建一个 .repos 文件,其中包含您在本地签出的提交哈希值:

    • vcs 出口 --精确 ./src >; 哈希库

  • 使用 vcstool.

    • 对于某些软件源,我们不会创建 ROS 2 专用标签,而是使用哈希值:

      • ament/osrf_pycommon

      • eProsima/Fast-CDR

      • eProsima/Fast-RTPS

      • ros/class_loader

      • 控制台桥

      • 暂时移除上述软件源: rm -fr src/ament/osrf_pycommon src/eProsima src/ros

    • 请注意,要使这一步骤在不需要输入大量密码的情况下运行,您需要一个 ~/.netrc 文件中的 GitHub URL。 .repos 文件来使用 ssh 而不是 https。

    • 创建发布标签:

      • vcs 风俗 ./src --参数 标签 版本-betaN (适当调整标签名称)。

      • 如果我们除了 笨蛋 我们需要使用 -git--hg (例如)参数分开。

    • 更新 最新发布 标签:

      • vcs 风俗 ./src --参数 标签 -f 最新发布

    • 推送标签(使用强制手段覆盖现有的最新标签):

      • vcs 风俗 ./src --参数 推动 --标签 -f

  • 创建新的 .repos 锉刀

    • cp 哈希库 tags.repos

    • 编辑 tags.repos 并将所有版本库(之前跳过的版本库除外)的版本属性替换为 版本-betaN (适当调整标签名称)。

  • 重复标记和 .repos 的文件生成 turtlebot2_demo.repos 文件.

    • 在 beta3 阶段,只有 turtlelebot2_demo 版本库中的软件包需要提升版本,而且没有任何版本库使用固定哈希值代替发布标记。

  • 使用新的 .repos 锉刀

    • 首次上传 tags.repos 某处(如 gist.github.com)。

    • 然后为每个平台触发一个打包任务,并使用托管的 .repos 文件中的 ci_ros2_repos_url field.

    • 将每个人工制品文件(归档文件)重命名为 ros2-beta<beta-number>-package-<platform><rmw-impl>-<opt-arch>.<ext>;.

      • 例如 ros2-beta2-package-linux-fastrtps-x86_64.tar.bz2

  • ros2/ros2 名为 版本-betaN 与新的 .repos 锉刀

    • 克隆 ros2/ros2 到主分支。

    • 更换 ros2.repos 文件的内容与 tags.repos 文件。

    • 将其提交,并附上与标记名称类似的信息,例如 版本-betaN (适当调整标签名称)。

    • 标记为 笨蛋 标签 版本-betaN (适当调整标签名称)和 笨蛋 标签 -f 最新发布 同时推动 笨蛋 推动 --标签 -f.

  • 发布 部分 ros2/ros2 使用这个新标签:

    • 使用标题 ROS 2 Beta N 释放 (与之前版本的风格一致)。

  • 使用 Web 界面将重命名的工件上传到 GitHub 上的 Release:

  • 为测试版创建一个概述页面,例如 https://github.com/ros2/ros2_documentation/Beta2-Overview

  • 更新发布页面,使其指向该页面: https://github.com/ros2/ros2_documentation/Releases

  • 更新 功能页面 如果合适的话。

  • 更新主页上的链接: https://github.com/ros2/ros2_documentation/README

  • 运行文件生成 并从 https://docs.ros2.org/

  • 起草并向讨论组发送有关发布的公告。