Hudson 多配置项目 - 无论如何要根据节点环境进行过滤?

发布于 2024-09-10 15:40:21 字数 144 浏览 4 评论 0原文

我有一组 GUI 自动化测试,需要相当长的时间才能运行。我一直在研究一个多配置 Hudson 项目来并行运行测试的各个部分。

我想设置一个过滤器,仅在每个从节点上运行一个子集,而不是在每个从节点上运行每个子集。有什么方法可以将从节点名称包含在组合过滤器中吗?

I have a set of GUI automation tests that take a rather long time to run. I've been looking into a multi-configuration Hudson project to run subsections of the tests in parallel.

I'd like to set up a filter that only runs one subset on each slave node, rather than each subset on each slave node. Is there any way to include the slave node name in the Combination filter?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷迭香的记忆 2024-09-17 15:40:21

来自多配置项目的帮助文本。

在多个节点上构建

  • 如果选择多个值,配置矩阵将展开
    包括所有这些,并构建
    将在所有的
    选定的节点/标签。这个很有用,
    例如,当你想跑步时
    在 Windows、Linux 和 Solaris 上进行测试。

组合过滤器

根据值进行过滤

例如,假设您是
建立在不同的操作基础上
不同编译器的系统。
假设你的从属标签是
label=[linux,solaris] 并且你有
创建一个轴作为编译器=[gcc,cc]。
以下任何一个表达式都将
过滤掉 Linux 上的 cc 版本。
取决于你如何看待这个问题
约束,你可能会发现一些
比其他人更直观。

阅读“如果同时有linux和cc,则无效”
!(标签==“linux”&&编译器==“cc”)

阅读“要使组合有效,
它必须位于 solaris 或
海湾合作委员会。”
标签==“Solaris”||编译器==“gcc”

阅读“如果在 Solaris 上,只需执行 cc”
(标签==“solaris”).implies(编译器==“cc”)

我认为这应该回答你的问题。

From the help texts of a multi configuration projects.

Build on multiple nodes

  • If multiple values are selected, the configuration matrix will be expanded
    to include all of them, and builds
    will be performed on all of the
    selected nodes/labels. This is useful,
    for example, when you'd like to run
    tests on Windows, Linux, and Solaris.

Combination Filter

Filtering based on values

For example, let's say you are
building on different operating
systems for different compilers.
Assume that your slave labels are
label=[linux,solaris] and you have
created an axis as compiler=[gcc,cc].
Any of the following expressions will
filter out cc builds on linux.
Depending on how you think about this
constraint, you'll probably find some
more intuitive than others.

Read "if both linux and cc, it's invalid"
!(label=="linux" && compiler=="cc")

Read "for a combination to be valid,
it has to be either on solaris or on
gcc."
label=="solaris" || compiler=="gcc"

Read "if on Solaris, just do cc"
(label=="solaris").implies(compiler=="cc")

I think this should answer your question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文