问题标签 [jenkins-build-flow]

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 投票
1 回答
230 浏览

dynamic - 如何在詹金斯构建流程中使用从一个作业生成的变量并将这些变量用于同一詹金斯构建流程中的下一个作业

我在 jenkins 构建流程上配置了 3 个作业,所需的活动是获取由 b1 到 b2 的构建后任务和 b2 到 b3 的变量等产生的动态变量,依此类推。

如上所述,每个先前的作业都会生成动态变量(作为构建后操作的一部分 - 我在一个实例中使用描述设置器插件来生成一个动态变量,而我希望在 b3 中使用 b1 的BUILD_URL )

为了做到这一点,我遇到了这个链接中的一篇文章并使用了 EnvInject Plugin。使用它我执行了以下操作 -

  1. 我创建了一个工作(envInj),以便将这些动态变量注入环境
  2. 我将该 envInj 作业用作 b1 的后置条件作业,并在 b1 和 b2 之间留出了一些时间,以确保后置条件作业在 b2 开始之前执行。
  3. 这实际上注入了环境所需的变量(如果在控制台日志以及 envInj 作业的环境变量中检查)。

但我面临的问题是那些新注入的变量不可用于 b2 访问,b3 也是如此。

那么,是否有任何选项可以将这些 b1 变量传递给 b2 (依此类推),或者有没有更好的方法来实现所需的?

0 投票
1 回答
2310 浏览

jenkins - Jenkins - 如何使用 Groovy Postbuild 插件设置环境变量

我已经为这个问题做了很多谷歌,但没有发现任何有助于解决我的问题的东西。

我正在尝试解析 Jenkins 作业的控制台输出并设置环境变量。我将在我的父作业中需要这个变量,它将在不同的奴隶上运行。

我可以使用从控制台输出中获取我需要的字符串值


更新

我有一个buildflow作业(父作业),我将使用 DSL 脚本调用其他子作业,例如

子作业child_job1并且是多阶段作业,child_job2它们在各个阶段依次调用其他作业,phase1_job例如phase2_jobphase3_job

一旦作业phase3_job完成执行,我想从它的控制台获取一个特定的值。


有人可以帮助解决这个问题吗?如果它们可以帮助我获取控制台值并将其设置为环境变量,我可以使用其他插件

0 投票
1 回答
1395 浏览

jenkins - 如何将 Jenkins DSL 文件重写为 Jenkins 管道 jenkinsfile?

我有以下 Jenkins DSL 文件:

我的任务是将此工作流文件内容转换/重写为 Jenkins 管道 Jenkinsfile。

我有一些示例文件可供参考,但我很难理解我应该如何开始......

任何人都可以对这个主题有所了解吗?

0 投票
1 回答
845 浏览

jenkins - Xvfb 显示的独特分配给多个并发 Jenkins 作业

我在 Jenkins 中有一个可以执行并发构建的构建流程作业。作业的单个运行实例中的每个构建都可以运行多个 UI 测试,其中每个测试集都应在唯一的 Xvfb 端口上运行。我正在使用 Xvfb 插件。

从概念上讲:

Xvfb 配置如下: 测试运行作业中的 Xvfb 配置

我遇到了很多端口冲突和引发错误的问题:

有人可以告诉我如何配置 Xvfb,以便作业的每个运行实例占用一个唯一的显示/屏幕。

为了简化和总结,假设我有一个简单的 Jenkins 作业,它使用 Xvfb 显示端口来运行。而且,该作业可以同时作为多个实例运行。如何确保每个并发实例在唯一的 Xvfb 显示器上运行?

0 投票
1 回答
1659 浏览

jenkins - groovy.lang.MissingMethodException:没有方法签名:在jenkins buildflow上的groovy中

我正在尝试在詹金斯构建流程中运行以下代码

输出低于

错误:无法运行 DSL 脚本 groovy.lang.MissingMethodException:没有方法签名:com.cloudbees.plugins.flow.FlowDelegate.plintln() 适用于参数类型:(java.lang.String) 值:[已创建随机模式:0xAC0E837A5284A407] 可能的解决方案:println(java.lang.String), println(), println(java.io.PrintWriter), println(java.lang.Object), print(java.lang.Object), printf(java. lang.String, [Ljava.lang.Object;) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl. java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 org.codehaus.groovy.reflection。org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105) 的 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.爪哇:60)

0 投票
2 回答
759 浏览

macos - 在 Jenkins 中复制 mobileprovision 文件时无法复制错误

jenkins 安装在 OS X Sierra 中,我正在尝试创建一个作业,我已在 KeyChain 和 Provisioning Profiles Management 插件中上传了配置文件。在作业配置中,在 Build environment 部分的 Mobile Provisioning Profile 中,选择了相应的配置文件。运行构建时,我收到这些错误

当我在终端中运行命令将文件从源文件夹复制到目标文件夹时,它成功了。但是詹金斯无法复制

0 投票
0 回答
597 浏览

jenkins - Jenkins 在管道中工作 DSL 守卫救援

最近,我正在做一个项目,我正在交换弃用的构建流程以在几个工作 DSL 生成的 Jenkins 中构建管道。一个特殊的问题是将构建流程保护-救援机制交换为管道语法。我很好奇您对我的解决方案有何看法:

请参阅以下流 DSL:

我使用管道语法创建了以下替代方案:

0 投票
0 回答
87 浏览

jenkins - Jenkins buildflow 作业依赖于并行闭包

我们有一个执行此操作的 Jenkins 构建流程:

运行初始作业以准备夜间构建,然后触发 N 个不同的项目构建以并行运行。对于每个项目,启动一个作业来构建二进制文件,然后启动一个单独的作业来运行测试。在所有项目构建和测试完成后,将运行一个作业来分析结果。

最终分析包含需要很长时间的部分,并且仅取决于二进制文件,而不是测试结果。我们希望与测试作业并行运行以加快速度,但我们不希望测试等待所有项目完成构建二进制文件。像这样的东西:

构建流程 构建流程设置为包含每个项目的构建和测试作业的闭包数组。是否可以在每个项目闭包中添加一个仅在所有其他闭包中的构建作业已完成时才运行的作业?或者有一份工作正在等待计数器达到某个值?

也欢迎使用管道的解决方案。

0 投票
1 回答
112 浏览

git - 私人 Bitbucket 存储库未在 Jenkins 中创建包

我正在尝试使用 poll SCM (* * * * *) 机制在 Jenkins 中生成包。如果我保持我的存储库公开,并且如果我从 Visual Studio 向 bitbucket 提交任何更改,它正在 Jenkins 中创建包(我仍然需要在 Jenkins 中单击 Build Now 选项)。

如果我将存储库设为私有,并且如果我从 Visual Studio 向 bitbucket 提交任何更改,则会在构建控制台中出现超时错误,并且 url 无法在配置中访问。

公共存储库(工作), 上市

私有存储库(不工作), 私人的

我需要在配置中进行哪些更改才能使其正常工作。

0 投票
1 回答
1817 浏览

jenkins - Jenkins MSBUILD:错误 MSB1008:只能指定一个项目。开关:文件

我知道有许多主题行相同的线程,但我没有得到任何答案,因此将我的问题放在这里。由于我的时间线,我对此并不陌生,并尝试尽可能快地学习。我做了詹金设置(尽我所能在第一枪中正确地做)但是当我尝试构建时,我得到了以下错误

由用户用户 1 开始在工作区 C:\Program Files (x86)\Jenkins\workspace********Service [WS-CLEANUP] 正在删除项目工作区... [WS-CLEANUP] 完成查询远程变更集在 '$/Reference Data Master/Development/Source/*******DataSrvices' as of 'D2017-08-24T07:21:11Z'... 查询结果是:Changeset #109084 by 'user' on ' 2017-08-23T13:04:44Z'。检查是否存在 E:\MyDrive\Jenkins\workspace...的映射...是的,在工作区“Hudson-*****Service-MASTER”中。正在从 http://********:8080/tfs 下载工作区列表... 将版本 'C109084' 获取到 'E:\MyDrive\Jenkins\workspace'... 完成获取版本 'C109084'。检索到 0 个资源。MSBuild.exe 的路径:C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 执行命令 cmd。exe /C " chcp 1252 && C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe %workspace%\DataService.Windows\DataSrvices.sln " && exit %%ERRORLEVEL%% from C:\Program Files (x86)\Jenkins\workspace\WindowsService [WindowsService] $ cmd.exe /C " chcp 1252 && C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe %workspace%\DataService.Windows\DataSrvices. sln " && exit %%ERRORLEVEL%% 活动代码页:1252 Microsoft (R) Build Engine 版本 4.0.30319.34209 [Microsoft .NET Framework,版本 4.0.30319.34209] 版权所有 (C) Microsoft Corporation。版权所有。\Program Files (x86)\Jenkins\workspace\WindowsService [WindowsService] $ cmd.exe /C " chcp 1252 && C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe %workspace%\DataService.Windows \DataSrvices.sln " && exit %%ERRORLEVEL%% 活动代码页:1252 Microsoft (R) Build Engine 版本 4.0.30319.34209 [Microsoft .NET Framework,版本 4.0.30319.34209] 版权所有 (C) Microsoft Corporation。版权所有。\Program Files (x86)\Jenkins\workspace\WindowsService [WindowsService] $ cmd.exe /C " chcp 1252 && C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe %workspace%\DataService.Windows \DataSrvices.sln " && exit %%ERRORLEVEL%% 活动代码页:1252 Microsoft (R) Build Engine 版本 4.0.30319.34209 [Microsoft .NET Framework,版本 4.0.30319.34209] 版权所有 (C) Microsoft Corporation。版权所有。

MSBUILD : 错误 MSB1008: 只能指定一个项目。开关:文件

对于切换语法,键入“MSBuild /help”构建步骤“使用 MSBuild 构建 Visual Studio 项目或解决方案”将构建标记为失败完成:失败

请找到我为詹金斯的第一份工作所做的设置

源代码管理:为 TFS 完成

在此处输入图像描述

构建触发器

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述