您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.

首次发布

本指南介绍如何发布以前未发布过的 ROS 2 软件包。由于在发布 ROS 软件包时有许多可用的选项,本指南打算涵盖最常见的情况,但并不涵盖每一种可能的情况。

加入发布团队

您必须是 发行团队.如果您还不是发布团队的一员,也可以加入发布团队:

创建新的版本库

您需要一个 发布仓库 来释放软件包。关注 创建新的版本库.

安装依赖项

根据您的平台安装接下来的步骤中要用到的工具:

苏都 适切 安装 python3-bloom python3-catkin-pkg

设置个人访问令牌

警告

如果文件 ~/.config/bloom 如果您的计算机上存在"......",那么您很可能以前就已经执行过这一操作,因此可以跳过本节。

在发布过程中,将执行多个需要密码验证的 HTTPS Git 操作。为避免重复被要求输入密码,可使用 个人访问令牌 (PAT) 将被设置。如果您的 GitHub 账户设置了多因素身份验证,您可以 必须 设置个人访问令牌。

通过以下方式创建个人访问令牌

  1. 登录 GitHub 并转至 个人访问令牌.

  2. 点击 生成新令牌 按钮。

  3. 在下拉菜单中,选择 生成新令牌(经典)

  4. 设置 备注 改为 布鲁姆 象征性.

  5. 设置 到期无过期.

  6. 勾选 public_repo工作流程 复选框。

  7. 点击 生成令牌 按钮。

创建令牌后,您将返回到 个人访问令牌 page. 复制字母数字标记 用绿色标出。

将您的 GitHub 用户名和 PAT 保存到名为 ~/.config/bloom格式如下

{ "github_user": "<your-github-username>", "oauth_token": "<token-you-created-for-bloom>" }

确保资源库是最新的

确保

  • 您的仓库托管在 GitHub 等远程服务器上。

  • 你的电脑上有一个克隆的版本库,并且在正确的分支上。

  • 远程版本库和克隆版本库都是最新的。

生成更新日志

生成 CHANGELOG.rst 文件:

catkin_generate_changelog --全部

全部打开 CHANGELOG.rst 文件的编辑器。你会看到 catkin_generate_changelog 自动生成了一个即将发布的部分,其中包含提交信息中的注释:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
软件包 your_package 的更新日志
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

即将出版
-----------
* 您可以修改该提交信息
* 和这

清理提交信息列表,简明扼要地传达自上次发布以来对软件包所做的显著改动,以及 提交所有 CHANGELOG.rst 文件。 请勿修改 即将出版

提升软件包版本

软件包的每个版本都必须有一个高于上一版本的唯一版本号。运行:

catkin_prepare_release

其功能如下

  1. 中的软件包版本。 package.xml

  2. 取代标题 即将出版版本 日期 例如 0.0.1 (2022-01-08)CHANGELOG.rst

  3. 提交这些更改

  4. 创建一个标签(例如 0.0.1)

  5. 将更改和标签推送到远程仓库

备注

默认情况下,软件包的补丁版本会递增,例如从 0.0.00.0.1.要递增次版本或主版本,请运行 catkin_prepare_release --撞击 辅修catkin_prepare_release --撞击 专业.更多详情,请参阅 catkin_prepare_release --帮助.

绽放发布

运行以下命令,将 my_repo 并加上版本库的名称:

绽放-释放 --新曲目 --rosdistro 简陋 --轨道 简陋 my_repo

提示

  • --新曲目 会告诉 bloom 创建一个新的 赛道 并对其进行配置。

  • --rosdistro 简陋 表示该版本适用于 简陋 发行版

  • --轨道 简陋 表示您希望轨道名称是 简陋

系统将提示您输入信息以配置新轨道。常见的情况如

  • 您的软件包位于一个名为 my_repo

  • 您正在发布一个名为 主要

  • 版本库托管在 GitHub 上,网址为 https://github.com/my_organization/my_repo.git

  • 您的版本库位于 https://github.com/ros2-gbp/my_repo-release.git

您应按以下提示回答:

配置

价值

版本库网址

https://github.com/ros2-gbp/my_repo-release.git

存储库名称

my_repo

上游存储库 URI

https://github.com/my_organization/my_repo.git

上游 VCS 类型

版本

发布标签

上游开发分支

主要

ROS 发行版

补丁目录

版本库推送 URL

备注

表格中的空单元格表示应使用默认值。只需按 Enter 键回复提示即可。

Bloom 会自动为您创建一个拉取请求,针对 rosdistro.

下一步工作

一旦您提交了拉取请求,通常在一两天内,rosdistro 的一位维护者就会审查并合并您的拉取请求。如果您的软件包构建成功,您的软件包将在 24-48 小时内出现在 ros测试 您可以 测试您的预发布二进制文件.

大约每隔两到四周,发行版的发布管理器就会手动将 ros-testing 的内容同步到 ROS 的主仓库中。这时,ROS 社区的其他成员就可以使用你的软件包了。要获取下一次同步(sync)的更新信息,请订阅 ROS Discourse 上的打包和发布管理类别.