使用Python (或仅使用纯shell或bash) 脚本,您可以针对许多不同的配置轻松自动化整个包创建和测试过程。例如,您可以将以下脚本放在包根文件夹中。命名为build.py:

    1. import os, sys
    2. import platform
    3. def system(command):
    4. retcode = os.system(command)
    5. if retcode != 0:
    6. raise Exception("Error while executing:\n\t %s" % command)
    7. if __name__ == "__main__":
    8. params = " ".join(sys.argv[1:])
    9. if platform.system() == "Windows":
    10. system('conan create . demo/testing -s compiler="Visual Studio" -s compiler.version=14 %s' % params)
    11. system('conan create . demo/testing -s compiler="Visual Studio" -s compiler.version=12 %s' % params)
    12. system('conan create . demo/testing -s compiler="gcc" -s compiler.version=4.8 %s' % params)
    13. else:
    14. pass

    这是一个纯Python脚本,与Conan无关,应该这样运行:

    1. $ python build.py

    我们为包创建者开发了另一个FOSS工具,即Conan包工具,可帮助您从包配方生成多个二进制包。它提供了一种简单的方法来定义不同的配置并调用conan test。除了提供像Travis CI、Appveyor和Bamboo这样的CI集成,用于基于云的自动化二进制包创建、测试和上传。
    此工具可通过简单的 $ git push在云中创建数百个二进制包,并支持:

    • 轻松生成具有不同配置的多个Conan包。
    • Travis/Appveyor服务器中的自动/远程包生成,以及CI作业中的分布式构建,用于大/慢构建。
    • Docker: 在Linux和Travis CI中为几个版本的gccclang自动生成包。
    • 使用apple-clang和Travis-CI自动创建OSX包。
    • Visual Studio: 使用检测到的设置自动配置命令行环境。

    它在pypi中可用:

    1. $ pip install conan_package_tools

    有关更多信息,请阅读Conan包工具存储库中的README.md。