deploy()¶
警告
此功能为实验性功能,可能会有重大更改。有关更多信息,请参阅Conan 稳定性部分。
deploy()
方法旨在部署(复制)当前软件包中的工件。它仅在 conan install
时执行,当提供了 --deployer-package
参数时,否则将忽略 deploy()
。
工件应部署到 self.deploy_folder
,默认为当前文件夹。可以使用 --deployer-folder
定义自定义目标。一个基本的 deploy()
方法会将所有文件从软件包文件夹复制到部署文件夹
from conan import ConanFile
from conan.tools.files import copy
class Pkg(ConanFile):
def deploy(self):
copy(self, "*", src=self.package_folder, dst=self.deploy_folder)
有关更多信息,请参阅conan install 命令的文档。
注意
最佳实践
只能部署“二进制”软件包工件,从
self.package_folder
复制。建议仅从软件包文件夹复制,而不是其他文件夹。deploy()
方法旨在用于最终的生产部署或在机器上安装二进制文件,因为它从 Conan 缓存中提取文件。它不适用于正常的开发操作,也不适用于针对已部署的二进制文件构建 Conan 软件包。建议针对 Conan 缓存中的软件包进行构建。self.deploy_folder
应该仅在deploy()
方法内部使用。