Packages pipeline¶
当开发者向组织的代码仓库提交更改时,packages pipeline 将构建、创建和上传不同配置和平台上的软件包二进制文件。例如,如果开发者正在修改 ai 包,改进库的一些功能,并将版本更新到 ai/1.1.0。如果组织需要支持 Windows 和 Linux 平台,那么软件包管道将在 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 作业造成潜在问题。如果管道成功,它将把它们提升(复制)到 products 二进制仓库,否则将停止。
在为 ai/1.1.0 构建这些二进制软件包时,需要考虑不同的方面。以下教程部分执行相同的工作,但前提条件不同。它们以递增的复杂性进行解释。
所有命令都可以在仓库的 run_example.py 文件中找到。该文件主要供维护者和测试使用,但如果出现问题,它可能作为参考有用。