发布 Track
什么是 Track?
Bloom 要求用户在首次发布软件包时输入配置信息。 将此类配置存储在发布存储库中是有益的,这样我们就不必手动输入后续版本不会更改的配置。
由于在为不同的 ROS 发行版发布软件包时某些配置会有所不同,因此 bloom 使用 发布轨道 来存储每个发行版的发布配置。
按照惯例,您应该创建与您要发布的 ROS 发行版同名的轨道。
所有发布轨道配置都存储在发布存储库主分支上的“tracks.yaml”中。
轨道配置
轨道配置与 bloom 的提示一起进行了更详细的说明。
发布存储库 URL
这是您的发布存储库的 URL,如果您的发布存储库托管在 ros2-gbp 上,则应采用“https://github.com/ros2-gbp/my_repo-release.git”的形式。
No reasonable default release repository url could be determined from previous releases.
Release repository url [press enter to abort]:
粘贴您的发布存储库 URL 并按 Enter。
Bloom 可能还会询问您有关初始化新存储库的信息,如下所示:
Freshly initialized git repository detected.
An initial empty commit is going to be made.
Continue [Y/n]?
只需按 Enter 即可接受默认值。
存储库名称
存储库名称很简单,但建议将其设置为项目名称。
Repository Name:
upstream
Default value, leave this as upstream if you are unsure
<name>
Name of the repository (used in the archive name)
['upstream']:
输入您的项目名称(例如“my_project”)并按 Enter。
上游存储库 URI
上游存储库 是您的源代码所在的存储库。 这很可能是指向托管在 GitHub 或 GitLab 等 git 托管服务上的项目的 https 链接。
Upstream Repository URI:
<uri>
Any valid URI. This variable can be templated, for example an svn url
can be templated as such: "https://svn.foo.com/foo/tags/foo-:{version}"
where the :{version} token will be replaced with the version for this release.
[None]:
确保**使用 https 地址**(例如 https://github.com/my_organization/my_repo.git
)而不是 ssh 地址。
上游 VCS 类型
这是 上游存储库 URI 的版本控制系统 (VCS) 类型。
您必须指定存储库使用的 vcs 类型,可以是 svn
、git
、hg
或 tar
。
Upstream VCS Type:
svn
Upstream URI is a svn repository
git
Upstream URI is a git repository
hg
Upstream URI is a hg repository
tar
Upstream URI is a tarball
['git']:
大多数存储库将使用 git,但一些旧存储库可能使用 hg 或 svn。
版本
这是您要发布的软件包的版本。(例如“1.0.3”)
Version:
:{ask}
This means that the user will be prompted for the version each release.
This also means that the upstream devel will be ignored.
:{auto}
This means the version will be guessed from the devel branch.
This means that the devel branch must be set, the devel branch must exist,
and there must be a valid package.xml in the upstream devel branch.
<version>
This will be the version used.
It must be updated for each new upstream version.
[':{auto}']:
将其设置为 ``:{auto}``(默认和推荐设置)将自动从 devel 分支的 package.xml 中确定版本。
将其设置为 :{ask}
将在每次使用 bloom 运行发布时弹出提示,询问版本。
发布标签
发布标签是指您要从哪个标签或分支导入代码。
Release Tag:
:{version}
This means that the release tag will match the :{version} tag.
This can be further templated, for example: "foo-:{version}" or "v:{version}"
This can describe any vcs reference. For git that means {tag, branch, hash},
for hg that means {tag, branch, hash}, for svn that means a revision number.
For tar this value doubles as the sub directory (if the repository is
in foo/ of the tar ball, putting foo here will cause the contents of
foo/ to be imported to upstream instead of foo itself).
:{ask}
This means the user will be prompted for the release tag on each release.
:{none}
For svn and tar only you can set the release tag to :{none}, so that
it is ignored. For svn this means no revision number is used.
[':{version}']:
将其设置为 ``:{version}``(默认和推荐设置)将使发布标记与版本标记匹配。
不太常见的设置是将其设置为分支名称,以便在从上游项目发布时始终拉入该分支。
或者,如果您希望每次发布时都提示您输入不同的标记,请输入 :{ask}
。
如果上游项目有频繁的标记发布,并且您希望每次发布时都引用新标记,则 :{ask}
很有用。
上游开发分支
上游开发分支是您的 上游存储库 中的分支名称。
如果您为每个 ROS 发行版使用单独的分支,则此字段对于每个发布轨道都会有所不同。
当 版本 设置为 :{auto}
时,它用于确定您要发布的软件包的版本。
Upstream Devel Branch:
<vcs reference>
Branch in upstream repository on which to search for the version.
This is used only when version is set to ':{auto}'.
[None]:
要从名为“rolling”的分支发布,请输入“rolling”。 如果将其保留为“无”,则版本将根据存储库的默认分支确定(不建议这样做)。
ROS 发行版
这是您计划将软件包发布到的发行版。
ROS Distro:
<ROS distro>
This can be any valid ROS distro, e.g. indigo, kinetic, lunar, melodic
['indigo']:
如果您计划发布到 ROS rolling,请输入“rolling”。
补丁目录
这是发布的所有附加补丁所在的目录。
Patches Directory:
<path in bloom branch>
This can be any valid relative path in the bloom branch. The contents
of this folder will be overlaid onto the upstream branch after each
import-upstream. Additionally, any package.xml files found in the
overlay will have the :{version} string replaced with the current
version being released.
:{none}
Use this if you want to disable overlaying of files.
[None]:
向发布版本添加附加补丁是一项很少使用的功能。 对于几乎所有软件包,这应保留为默认的“无”。
发布仓库推送 URL
Release Repository Push URL:
:{none}
This indicates that the default release url should be used.
<url>
(optional) Used when pushing to remote release repositories. This is only
needed when the release uri which is in the rosdistro file is not writable.
This is useful, for example, when a releaser would like to use a ssh url
to push rather than a https:// url.
[None]:
大多数情况下可以保留为默认值。