我想分享一下如何实现我遇到的问题的解决方案,获得一些反馈,并了解buildbot的一些新功能。
情境:
创建给定软件的包,并将包上传到buildmaster到共享文件夹。 包名称包含构建系统(即Makefile)已知的一些数据,特别是sw版本。我们假设包名是: MyApp的-1,2,3- r2435.tar.gz
问题:
如何向buildlave步骤发送构建完全相同的包名称所需的步骤,以便buildslave可以上传包? 具体来说,我需要知道版本号(但我猜这可能是任何参数)
已实施(及正在使用)解决方案 编译过程完成后,makefile会写入一个包含所需参数的文件。 从属设备使用SetProperty()步骤将文件内容读入自定义命名属性 一旦我对该属性感兴趣的值(让我们说APP_VERSION),我用它来构建包名称与构建系统使用相同的模式。
所描述的解决方案有效,但我并不喜欢它,因为:
1)它很复杂,因此,我猜,脆弱
2)它不是OS独立的(我使用“echo $ VAR>文件”来编写文件,并使用“cat file”来读取它并设置buildslave属性)
您认为有更好的方法来解决这个问题吗? 您有什么建议让解决方案OS独立吗? (它在Windows上无法确定,而我的软件包也可以在Windows操作系统上构建)