jenkins-workflow相关内容

如何从工作中设置环境变量并在詹金斯的下一个工作中使用它?

我想要一份工作来设置环境变量并在接下来的所有工作中使用这些环境变量.如何通过 Jenkins 设置环境变量? 解决方案 从技术上讲,你不能将环境变量从一个工作传递到另一个工作,而且我不知道有一个插件可以开箱即用地做到这一点. 但是有一种技术.这个想法是在第一个作业中创建一个属性文件(例如exported.properties),将该文件添加到作业工件中,然后通过 EnvInject ..
发布时间:2022-01-18 17:25:06 其他开发

使用带有闭包映射的 failFast 会破坏“并行".步

不确定这是我对 Groovy 的有限了解还是 Pipeline parallel 步骤中的怪癖.如果我使用 map 而不是单独传递每个闭包,我无法让它接受 failFast: def map = [:]地图['垃圾邮件'] = {节点{回声“垃圾邮件"}}地图['鸡蛋'] = {节点{回声“鸡蛋"}}并行地图//有效.并行垃圾邮件:map['spam']、eggs: map['eggs']、fa ..
发布时间:2022-01-18 17:22:16 其他开发

如何获取当前 Jenkins 用户的电子邮件地址以在 groovy 脚本中使用

我为新的 Jenkins 工作流插件创建了一个 groovy 脚本,https://github.com/jenkinsci/工作流插件.我希望它在下一步需要输入时向开始工作的用户发送邮件.我尝试搜索 API,但找不到任何有关获取用户电子邮件地址的信息. 我会想到这样的事情. 导入 hudson.model.Userdef user = User.current()def mailAddr ..
发布时间:2022-01-18 17:18:13 其他开发

无法在 Jenkinsfile 中使用 readMavenPom

我正在开发一个用于 Jenkins 2.0 的 Jenkinsfile.readMavenPom 方法无法识别.我是否缺少一些配置以使其可用? 我的 Jenkins 文件: node {阶段“结帐"结帐单片机env.PATH = "${tool 'maven-3'}/bin:${env.PATH}"阶段“构建"def pom = 读取 MavenPom 文件:'pom.xml'回声“${p ..
发布时间:2022-01-18 17:14:14 其他开发

在 init.groovy.d 脚本中使用管道初始化 Jenkins 2.0

为了自动化,我想用管道作业初始化一个 Jenkins 2.0 实例.我想创建一个在启动时复制到 /usr/share/jenkins/ref/init.groovy.d/ 文件夹的 Groovy 脚本.该脚本应创建一个 Jenkins 2.0 流水线作业,用于处理来自 SCM 的 Jenkinsfile. 我找不到 2.0 管道类的相关 Javadoc 或如何执行此操作的示例. 以前, ..

如何在 Jenkinsfile 中设置 github 拉取请求构建?

所以,我使用 Jenkins 已经有一段时间了.我已经使用 Github Pull Request Builder 插件设置了许多项目,以便在有人打开拉取请求时运行测试,然后在拉取请求实际合并到 master 时触发其他工作(构建、推送、部署等). 那么,有没有办法使用 Jenkinsfile、组织文件夹或多分支构建协议来设置它? 解决方案 github-organization-f ..
发布时间:2022-01-18 17:12:01 其他开发

为 Jenkins 工作流(管道)构建设置构建号

我正在将 jenkins-workflow 作业迁移到新的基于模板的工作流作业.因为内部版本号用作工作流生成的构建工件版本的一部分,所以我必须使用大于旧工作流的数字来启动新工作流的内部版本号.不幸的是,“下一个内部版本号"插件不适用于工作流管道. 有人知道这样做的好方法吗? 解决方案 尝试在 Jenkins 脚本控制台中运行以下脚本.将“workFlow"更改为您的 Jobname ..
发布时间:2022-01-18 17:11:45 其他开发

如何使用 Jenkins Workflow 插件使 SCM 轮询工作

在一个普通的自由式项目中,我将 SCM 插件配置为指向我要发布的 Git 存储库,并启用“Poll SCM"选项,这允许我配置一个 Stash webhook 以在有对该回购进行了更改.这样,只要将更改推送到 repo,就可以触发作业. 但是当我使用工作流而不是自由式项目时,我需要构建的代码的 SCM 在 groovy 工作流脚本中以编程方式指定,这意味着它没有监听 Stash webhoo ..
发布时间:2022-01-18 17:11:38 其他开发

try/catch/finally 在 groovy 编译器异常的情况下掩盖 Jenkinsfile 问题

我的 Jenkinsfile 中有类似于下面的代码: 节点{结帐单片机//做一些事情尝试 {//做一些 Maven 魔术} 捕捉(错误){“失败后清理"阶段emailext attachLog:true,正文:“构建失败(请参阅 ${env.BUILD_URL}):${error}",主题:“[JENKINS] ${env.JOB_NAME} failed",收件人:'someone@examp ..
发布时间:2022-01-18 17:09:16 其他开发

在 Github 推送上触发工作流 - 管道插件 - 多分支配置

我们正在为我们的 CD 使用具有多分支配置的管道插件.我们已经签入了可以在 git 上运行的 Jenkinsfile. git url: "$url",credentialsId:'$credentials' 该作业运行良好,但在将更改推送到 github 时不会自动触发.我已经正确设置了 GIT 网络挂钩. 有趣的是,当我进入多分支作业的一个分支并单击“查看配置"时,我看到“将更改推送 ..
发布时间:2022-01-18 17:08:02 其他开发

如何使用 Pipeline 引用 Jenkinsfile 目录?

我有一个 groovy 文件,我想从 Jenkinsfile 运行. 即.加载 script.groovy 但是,如果该文件与 Jenkinsfile 存储在同一目录中,我不确定如何引用它.我正在从 git 加载 Jenkinsfile.我注意到它创建了一个名为 workspace@script 的文件夹.它不会将它放在工作区目录中.我可以对文件夹进行硬编码,但我不确定这方面的规则,再 ..

Jenkins 管道插件:设置构建描述

我正在尝试用一个使用 Jenkins 管道插件并从项目存储库加载 Jenkinsfile 的新工作替换我们当前的构建管道,该管道目前使用老式 Jenkins 作业一起破解. 遗留工作所做的一件事是使用 Description setter 插件,这样构建很容易找到. 有没有办法使用 Jenkins 管道插件复制/模拟这种行为? 解决方案 刚刚想通了.管道作业公开了一个具有可写属 ..
发布时间:2022-01-18 17:06:53 其他开发

创建可重复使用的詹金斯管道脚本

我最近正在考虑使用 Jenkins 管道脚本,一个问题是我没有找到一种聪明的方法来创建内部可重用的 utils 代码,想象一下,我有一个通用函数 helloworld将被很多管道作业使用,所以我希望创建一个 utils.jar 可以将其注入到作业类路径中. 我注意到 Jenkins 与 全局库,但我对这个插件的担忧: 由于它是一个插件,所以我们需要通过 jenkins 插件管理器安装/ ..
发布时间:2022-01-18 17:06:21 其他开发

如何在本地测试对 Jenkinsfile 所做的更改?

在编写 jenkins 管道时,提交每个新更改以查看它是否有效似乎非常不方便. 有没有办法在不提交代码的情况下在本地执行这些? 解决方案 你不能在本地执行 Pipeline 脚本,因为它的全部目的是编写 Jenkins 脚本.(这就是为什么最好保持 Jenkinsfile 简短并仅限于实际处理 Jenkins 功能的代码的原因之一;您的实际构建逻辑应该由您通过调用的外部进程或构建工具 ..
发布时间:2022-01-18 17:05:58 其他开发

为什么 groovy 不能在 Jenkins 管道中运行?

我目前正试图从我的管道中运行一个 groovy 脚本作为我的节点之一,但我遇到了这个错误: [CompanyName] 运行 shell 脚本+ ./ideainspect.groovyenv:groovy:没有这样的文件或目录 另外,我尝试为 groovy 安装插件,但由于某种原因,它无法安装.每当我刷新工具页面时,安装程​​序就会消失.我安装groovy错了吗?请帮忙! 编辑:相关数 ..

Jenkins 工作流程:如何获取或设置步骤 ID

我们想引用 Jenkins 工作流的并行任务中的一个步骤.但似乎对于多个并行任务中的步骤,步骤 ID 的创建是不确定的.对于输入步骤,可以手动指定步骤 ID.是否可以为 shell 步骤指定步骤 id 或查询步骤 id? 目的是我们希望在并行任务中创建一个指向 shell 脚本的链接. 解决方案 实际上,步骤 ID 通常无法提前预测.你想链接到它的日志吗,比如 这个?我对用例并不完全 ..
发布时间:2022-01-18 17:02:58 其他开发

如何从单个 Jenkins Pipeline 并行块中获取标准输出和标准错误?

我在我的 Jenkinsfile 中使用了一个 parallel 块来同时执行一些测试,但是所有的输出都搞混了. 这是我的 Jenkinsfile 的摘录,例如: //针对不同的数据库做一些 IT艺名:《IT》平行线 (mysqlIT:{节点{执行MysqlIT()}},甲骨文:{节点{执行OracleIT()}}) 请注意,按照此处的建议,我'在每个 parallel 中运行一个新的 ..
发布时间:2022-01-18 17:01:02 其他开发