包管道

当某个开发者向组织的代码仓库提交更改时,包管道将为不同的配置和平台构建、创建和上传包二进制文件。例如,如果一个开发者对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文件中找到。此文件主要用于维护者和测试,但在出现问题时它可能是一个有用的参考。