软件包管道

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

对于 软件包管道,我们将从 ai 配方中的一个简单源代码更改开始,模拟 ai 软件包的一些改进,为我们的游戏提供更好的算法。

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

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

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

  • 最后,让我们升级版本。由于我们对软件包的公共头文件进行了一些更改,建议升级次要版本,因此让我们编辑 ai/conanfile.py 文件并将 version = "1.1.0" 定义在那里(而不是之前的 1.0)。请注意,如果我们对 ai 公共 API 进行了破坏性更改,建议是更改主要版本并创建一个新的 2.0 版本。

软件包管道将负责为新的 ai/1.1.0 构建不同的软件包二进制文件,并将其上传到 packages 二进制仓库,以避免对其他开发人员和 CI 任务造成中断或潜在问题。如果管道成功,它将把它们提升(复制)到 products 二进制仓库;否则将停止。

在为 ai/1.1.0 构建这些二进制软件包时,需要考虑不同的方面。以下教程章节执行相同的任务,但基于不同的假设。它们以复杂度递增的方式进行解释。

请注意,所有命令都可以在仓库的 run_example.py 文件中找到。此文件主要用于维护者和测试,但在遇到问题时也可用作参考。