软件包流水线¶
当一些开发者提交对组织仓库源代码的更改时,软件包流水线将为不同的配置和平台构建、创建和上传软件包二进制文件。 例如,如果一个开发者正在修改 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 进行了一些重大更改,建议更改 major 版本并创建一个新的2.0
版本。
软件包流水线将负责构建新的 ai/1.1.0
的不同软件包二进制文件,并将它们上传到 packages
二进制文件仓库,以避免中断或对其他开发者和 CI 作业造成潜在问题。 如果流水线成功,它将把它们提升(复制)到 products
二进制文件仓库,否则将停止。
为 ai/1.1.0
构建这些二进制软件包时,需要考虑不同的方面。 以下教程部分执行相同的工作,但在不同的假设下。 它们以递增的复杂性进行解释。
请注意,所有命令都可以在仓库 run_example.py
文件中找到。 此文件主要供维护人员和测试使用,但在出现问题时,它可能作为参考很有用。