Packages pipeline

Packages pipeline 将在有开发者向组织仓库源代码提交更改时,为不同的配置和平台构建、创建和上传软件包二进制文件。例如,如果一个开发者正在对 ai 包进行一些更改,改进了一些库的功能,并将版本号提升到 ai/1.1.0。如果组织需要同时支持 Windows 和 Linux 平台,那么软件包 pipeline 将同时为 Windows 和 Linux 构建新的 ai/1.1.0,然后才认为这些更改是有效的。如果在特定平台上某些配置构建失败,通常会认为这些更改无效,并停止处理这些更改,直到代码得到修复。

对于 package pipeline,我们将从 ai recipe 中的一个简单的源代码更改开始,模拟对 ai 包的一些改进,为我们的游戏提供一些更好的算法。

让我们对 ai 包进行以下更改:

  • 让我们更改 ai/src/ai.cpp 函数的实现,并将消息从 Some Artificial 更改为 SUPER BETTER Artificial

  • 让我们将 ai/include/ai.h 中的默认 intelligence=0 值更改为一个新的 intelligence=50 默认值。

  • 最后,我们来提升版本号。由于我们对包的公共头文件进行了一些更改,建议提升 minor 版本,所以让我们编辑 ai/conanfile.py 文件,并在其中定义 version = "1.1.0"(而不是之前的 1.0)。请注意,如果我们对 ai 的公共 API 进行了任何破坏性更改,建议更改主版本号,并创建一个新的 2.0 版本。

Packages pipeline 将负责为新的 ai/1.1.0 构建不同的包二进制文件,并将它们上传到 packages 二进制仓库,以避免干扰或对其他开发者和 CI 作业造成潜在问题。如果 pipeline 成功,它将把它们提升(复制)到 products 二进制仓库,否则将停止。

在为 ai/1.1.0 构建这些二进制包时,需要考虑不同的方面。以下教程部分会完成同样的工作,但假设不同。它们将以复杂性递增的方式进行解释。

请注意,所有命令都可以在仓库的 run_example.py 文件中找到。该文件主要供维护者和测试使用,但如果遇到问题,它可能是一个有用的参考。