有没有人在 Perl 中使用 Hudson(或其他类似的构建系统)取得任何成功?
4 回答
对于非 Java 构建脚本,我通常使用 Hudson 的自定义构建脚本模板。也就是说,我可以在 Hudson 中指定一个 shell 脚本。从那里,我可以运行诸如 make、configure 之类的 GNU 工具,并且我通常会将一些 echo 嵌入到脚本中,或者将一些输出重定向到自定义文件,然后我将其打包到一个特殊的文件夹中,并标记为构建工件。
例如,我可能,
cd src
perl Makefile.PL > ${WORKSPACE}/logs/makefile.log
make > ${WORKSPACE}/logs/make.log
对于初学者。
然后我可以将 logs/** 包装为构建工件。
我已经将 Perl 集成到几个构建系统中,虽然不是 Hudson。为什么要使用 Hudson?也许你的问题还有另一个答案。
- 您是否在使用 Hudson 进行其他所有操作的 Java 商店?
- Hudson 中是否有您真正想要的功能?
- 您是否出于某种原因避免使用其他构建系统?
使用 Hudson 和 Java 一年左右,以及 Hudson 和 Perl 几个月,我更喜欢前者,并让后者表现得像前者。
Hudson 以 Java 为中心,开箱即用的 Maven 和 Junit 效果最佳。但是,它支持 shell 脚本,因此您可以轻松地执行通常的perl Makefile.PL && make && make test
.
但是,如果您使用 oen 的(新的)Perl 测试结果格式化程序,您可以获得更好的结果:
perl Makefile.PL
make setup
prove --timer --recurse -m --harness=TAP::Harness::JUnit t/
指某东西的用途
TAP::线束::JUnit将 Perl 测试结果集成到 Hudson 中,让 Hudson 能够像运行 Java 项目一样绘制图形和报告。
您可以轻松地prove
用调用来启动/停止 Apache 测试服务器 - 请参阅 CPAN for Apache Test。
是的,有人在另一个类似的构建系统上取得了成功。