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
文件中找到。此文件主要供维护者和测试人员使用,但在出现问题时可能有用。