后续发布 [938]
本指南介绍了如何发布已经发布过的ROS软件包的新版本。 [939]
目录 []
安装依赖项 [199]
根据你的平台安装你将在接下来的步骤中使用的工具: [800]
sudo apt install python3-bloom python3-catkin-pkg
sudo dnf install python3-bloom python3-catkin_pkg
pip3 install -U bloom catkin_pkg
设置个人访问令牌 [942]
警告
如果您的计算机上存在文件 ~/.config/bloom
,那么您很可能之前已经进行过这个操作,所以您应该跳过此部分。 [805]
在发布过程中,将执行多个需要密码验证的 HTTPS Git 操作。为了避免反复询问密码,将设置一个 个人访问令牌 (PAT)。如果您的 GitHub 帐户已设置了多因素身份验证,必须 设置一个个人访问令牌。 [806]
按照以下步骤创建个人访问令牌: [807]
点击 生成新令牌 按钮。 [809]
将 Note 设置为类似于
Bloom token
的内容。 [810]将 Expiration 设置为 无过期时间。 [811]
选中
public_repo
和workflow
复选框。 [812]点击 生成令牌 按钮。 [813]
创建令牌后,您将返回到*个人访问令牌*页面。复制突出显示的绿色字母数字令牌。 [814]
将您的GitHub用户名和PAT保存到名为``~/.config/bloom``的新文件中,格式如下: [815]
{
"github_user": "<your-github-username>",
"oauth_token": "<token-you-created-for-bloom>"
}
更新变更日志 [943]
为了您的用户和开发人员,请确保变更日志简明扼要且保持最新。 [944]
catkin_generate_changelog
在编辑器中打开所有的 CHANGELOG.rst
文件。您会看到 catkin_generate_changelog
自动生成了一个即将发布的部分,其中包含了提交信息的注释: [823]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog for package your_package
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Forthcoming
-----------
* you can modify this commit message
* and this
整理提交信息列表,以简明扼要地传达自上次发布以来软件包所做的重要更改,并**提交所有的 CHANGELOG.rst 文件。**不要修改 Forthcoming
标题。 [824]
提升软件包版本 [825]
每个软件包的发布版本必须具有比上一个发布版本更高的唯一版本号。运行: [826]
catkin_prepare_release
执行以下操作: [827]
在``package.xml``中增加软件包版本 [828]
在``CHANGELOG.rst``文件中用``版本(日期)``(例如``0.0.1(2022-01-08)``)替换``即将发布``标题 [829]
提交这些更改 [830]
创建一个标签(例如``0.0.1``) [831]
将更改和标签推送到您的远程存储库 [832]
注解
默认情况下,软件包的补丁版本会递增,例如从``0.0.0``增加到``0.0.1``。若要递增次要版本或主要版本,请运行``catkin_prepare_release --bump minor``或``catkin_prepare_release --bump major``命令。有关详细信息,请参阅``catkin_prepare_release --help``。 [833]
Bloom发布 [834]
运行以下命令,将``my_repo``替换为包含软件包的存储库名称: [945]
bloom-release --rosdistro humble my_repo
Bloom将自动为您创建针对`rosdistro <https://github.com/ros/rosdistro>`_的拉取请求。 [862]
下一步 [863]
一旦您的拉取请求被提交,通常在一两天内,rosdistro的维护人员将会审查并合并您的拉取请求。如果您的软件包构建成功,在24-48小时内,您的软件包将会在**ros-testing**存储库中可用,您可以在那里:doc:测试预发布的二进制文件。 [864]
大约每两到四周,发行版的发布经理会手动将ros-testing的内容与主要ROS仓库同步。这时候你的软件包才会真正对整个ROS社区可用。要获取下一次同步的更新信息,请订阅ROS Discourse上的“打包和发布管理”分类:<https://discourse.ros.org/c/release/16>。 [865]