问题标签 [multi-configuration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9856 浏览

jenkins - 如何配置jenkins多配置构建和测试

我需要在多种配置上构建和测试:linux、osx 和 solaris。我有标记为“linux”、“osx”和“solaris”的从节点。在每个配置上,我想(a)构建(b)运行冒烟测试(c)如果冒烟测试通过,然后运行完整测试,也许更多。

我认为多配置作业可能是答案,所以我设置了一个多配置构建作业,它在每个操作系统上启动并发构建。构建作业将触发下游冒烟测试构建,进而触发完整测试作业。

我遇到了以下问题

  1. 如果其中一项配置失败,则整个作业都会失败,并且 Jenkins 不会触发任何下游作业(例如,如果 solaris 构建失败,Jenkins 将不会为 osx 和 linux 运行冒烟测试或完整测试)。

  2. solaris 构建所需的时间大约是其他构建的两倍(大约一个小时),我更喜欢 linux 和 osx 烟雾测试而不是等待 solaris 构建完成。

这是否意味着我只剩下手工制作三个工作管道,并将它们放在“开始所有”工作(即创建和手动链接以下工作)之后?

我错过了什么明显的东西吗?

0 投票
9 回答
47963 浏览

jenkins - Jenkins 和多配置(矩阵)作业

为什么 Jenkins 有两种工作,多配置项目和自由式项目项目?我在某处读到,一旦您选择其中一个,就无法(轻松地)转换为另一个。为什么我不总是选择多配置项目以确保未来更改的安全?

我想为在 Windows 和 Unix(以及其他平台)上构建的项目设置构建。我发现了这个问题),它问了同样的事情,但我并没有真正得到答案。为什么我需要三个矩阵项目(而不是三个自由样式项目),每个平台一个?为什么我不能将它们全部保存在一个矩阵中,一个轴上有平台和(例如)gcc 版本,另一个轴上有(我的)软件版本?

我也阅读了这篇博文,但它在同一台机器上构建了所​​有内容,只是使用了不同的 Python 版本。

所以,简而言之:大多数人如何配置针对许多不同平台的多配置项目?

0 投票
3 回答
21966 浏览

build - 是否可以将 Jenkins 自由式作业转换为多配置作业?

我在 Jenkins 中有很多自由风格的工作,我想将它们转换为多配置工作,这样我就可以在一个工作下跨多个平台进行构建。这些作业指定了很多构建参数,我希望不必通过创建新的多配置作业再次手动设置它们。目前,每个作业都将其构建限制在我们一直在构建的平台上,而我看到的唯一其他选择是克隆现有作业并将限制更改为新平台。这并不理想,因为我需要维护 2 个工作,唯一的区别是目标平台。

我看不到通过 UI 执行此操作的方法,但想知道是否还有其他方法。

0 投票
1 回答
3562 浏览

junit - Jenkins 多配置项目不汇总测试结果

我设置了一个多配置项目来运行 FF 和 IE selenium 测试。但是,它没有汇总测试结果。

如果我查看项目页面,我会看到:


如果我进入特定的构建,我会看到:


但是,如果我单击其中一个特定的配置名称,我会看到:


有没有办法让这些结果汇总?(我选中了聚合下游结果项目配置复选框)

0 投票
1 回答
3233 浏览

jenkins - 如何在涉及多个操作系统的 Jenkins 多配置构建中存档工件?

我有一个多配置构建,它构建在各种操作系统上(目前只有 32 位和 64 位 Linux,但要添加更多)。构建会生成一个我要存档的“安装”目录。在以前的同一软件的自由式构建中(在单个目标上),我可以通过指定“归档工件”并将“要归档的文件”设置为“安装/**”来做到这一点,但是当我在多-configuration build Jenkins 声称它找不到要归档的任何内容。

从属设备上进行实际构建的工作区会创建“安装”目录(如“AllOSes/Linux32/install”和“AllOSes/Linux64/install”)。我究竟做错了什么?

更新:只有当我在 Jenkins 系统中有一个 Windows 从节点时才会出现问题。如果存在 Windows 从节点,Jenkins 似乎注意到它没有被使用,并在 Windows 从节点上运行作业的控制部分。不知何故,这会导致归档步骤失败(可能是因为它需要 Windows 路径名?)。

如果我禁用 Windows 从节点,则作业的控制部分在运行 32 位 Linux 的主节点上运行,并且一切正常。

这没有提供解决方案,因为我需要为其他作业启用 Windows 节点,而且我找不到指定多配置作业的控制器应该在哪里运行的方法,但它确实改变了问题。

0 投票
3 回答
2989 浏览

jenkins - 让 Jenkins 使用可变 SVN URL 构建多个配置

我想自动化我们的构建过程。

我们有 30 多种配置,每种配置都有不同的 SVN 分支。理想情况下,由于维护工作和人为错误的风险,我希望避免创建 30 个单独的 Jenkins 作业。

这就是 Jenkins 中的“多配置项目”的设计目的,但不幸的是,Jenkins 不支持在 SVN URL 中使用配置矩阵轴。

我也无法使用参数化构建进行构建,因为 Jenkins 不允许在本地结帐路径中使用变量(URL 中的变量可以正常工作,但它们最终总是会转到一个名为${BRANCH}(literal) 的目录。

归根结底,我希望能够签出https://domain.ext/something/${BRANCH}/并将其保存到/some/path/${BRANCH}. 如果这样做的方式能让我能够利用 Jenkins 的内置 SCM 功能(例如轮询),那就更好了。

我怎样才能让詹金斯了解我想要实现的目标?

0 投票
3 回答
2510 浏览

python - Jenkins Python API 和多配置项目

我在 Jenkins 中建立了一个多配置项目,我正在尝试通过命令行脚本管理这些作业。我正在尝试为此使用 jenkinsapi Python 模块。到目前为止,我已经找到了获得工作的方法,但我不知道如何获得特定的构建配置以查看它们是否成功。

有没有办法做到这一点?多配置项目中的每一个是单独的“工作”还是都归为同一个工作?将来我将不得不管理许多此类项目,并且我希望能够轻松地将新的硬件配置添加到构建中。

0 投票
1 回答
449 浏览

magento - Jenkins 使用 MTAF 构建多配置项目,但无法在 Sauce Labs 上运行

我使用 Jenkins 和 Sauce Labs 配置了 Magento 测试自动化框架 (MTAF),一切运行良好。但是,在构建多配置项目时,我在 Jenkins 的作业配置中的浏览器列表中又选择了两个浏览器进行并行执行。

在进行构建时,它从 MTAF 配置文件 (browser.yaml) 中获取浏览器,而不是从 Jenkins 的作业配置中选择浏览器。

有没有办法从 Jenkins 执行浏览器,而不是从 MTAF 的配置文件?

0 投票
1 回答
3988 浏览

jenkins - 如何为矩阵项目中的每个配置触发作业

我必须实现以下目标:我有一个具有两个配置 C1 和 C2 的多配置项目 A,现在对于每个成功的配置,我想构建另一个项目 B,例如:

  • 如果 C1-success 和 C2-fails 则 C1 --> B
  • 如果 C1-fail 和 C2-success 则 C2 --> B
  • 如果 C1-success 和 C2-success 然后 C1 --> B 然后 C2 --> B (一次只能运行一个 B 实例)

当前,如果其中一项配置失败,则父项将被标记为失败,从而停止触发下游项目。

0 投票
1 回答
625 浏览

jenkins - 多配置项目的后期构建脚本

我在 jenkins 中运行了一个多配置项目,它执行了几个不同的构建,我想在所有子配置/构建完成后运行一个脚本。

在 Jenkins 中是否有类似 PostBuild 操作的多配置作业?