【ROS總結】發佈ROS2包到ROS版本

前言

在上一總結中,講述瞭如何將ROS1的包發佈到ROS版本(Indigo、jade、kinetic、lunar等),在這一節中,講述如何把ROS2的包發送到ROS社區,比如發佈到ROS2版本(ardent)。

這個頁面描述瞭如何準備在公共ROS 2 buildfarm上發佈存儲庫。在你創建了一個包之後,這是將你的包引入到公開可用的Debian軟件包(即:你將能夠通過apt-get安裝包。這個頁面包含了ROS 2特定的指令,它取代了在ROS Wiki上的Bloom發佈教程的第2部分

注意:早期的ROS 2版本的發佈過程主要依賴於git-bloom-release的子命令bloom-release,而不是完整的開放版本工作流,所以可能會有問題。

 對比ROS1 bloom不同

如果你在ROS1之前使用bloom發佈過ROS包,ROS2的先決條件和ROS1差不多。然而,ROS 2還沒有爲你自動進行標記和版本控制的工具(沒有等價於catkin_create_changelog工具)。

要求工具

對於ROS2的Ardent來說:

  • bloom >= 0.6.2
  • catkin_pkg >= 0.4.0

過程

第一步:changelog(可選)

創建/更新CHANGELOG.rst,使用即將到來的新格式。注意,changelog嚴格來說是可選的,但它是非常推薦的。

注意你的changelog格式中的錯誤可能會導致你的包發佈問題。提交併將更改提交給變更日誌。

第二步:標記包版本號

package.xml中更新包的版本。版本號必須比前一個版本高。對於你的第一個版本,我們建議0.0.1或1.0.0。提交併推動這個變更。

注意,你不能使用以前使用的版本號(參見下面)。一些包釋放到ROS 1和ROS 2,但是由於這個需求,必須使用不同的版本控制系列。ROS包通常不遵循嚴格的語義版本控制,所以不要過分擔心。如果你想了解其他人已經做了什麼,請使用ROS 1發佈包中的0.x.x或1.x.x系列和ROS 2發佈包中的1.x.x或2.x.x系列。

第三步:標記你的包

創建一個與你剛剛輸入到package.xml中的版本號相匹配的標記,在提交時,會遇到版本號。現在你知道了不能重用版本號的原因——git只允許在存儲庫中使用給定名稱的一個標記。

第四步:確保你的bloom和catkin_pkg是最新版本

查看以上版本要求,運行以下命令追蹤當前版本:

sudo apt-get install python-catkin-pkg python-bloom

第五步:設置ROS 2環境變量

ROS 2使用的是全新的存儲庫,該版本的所有索引保存在https://github.com/ros2/rosdistro,forked該存儲庫。你可以通過設置ROSDISTRO_INDEX_URL環境變量來配置bloom。

export ROSDISTRO_INDEX_URL='https://raw.githubusercontent.com/ros2/rosdistro/ros2/index.yaml'

導出這個之後,你將能夠在你的bloom-release終端命令中使用ROS 2發行版的ardent, bouncy等名稱。

下一步

現在,你的存儲庫設置完畢。你已經手動完成ROS 2在這個界面的內容

返回到ROS Wiki上的Bloom發佈教程,並繼續“創建一個發佈存儲庫”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章