jenkins-pipeline相关内容
我的 Jenkins 2.0 中的每个组件都有一个 管道作业.他们都是由许多阶段(构建、UT、IT 等)组成,因此它们作为一个组件的管道. 组件以指定的顺序相互依赖,所以我使用“在其他项目构建后构建"(我也尝试了 JobFanIn Plugin) 来触发这些“迷你管道".这就像“迷你管道"的管道 我想可视化工作之间的关系.为此,我找到了 2 个插件: 交付管道插件 构建管道插件
..
我有一个构建和运行 Docker 机器的 Jenkins 管道,不是作为代理,而是使用脚本块以及 Docker 管道插件方法 docker.build() 和 Image.run().这工作正常,但如果构建失败,docker 容器将继续运行!我目前在 post{ always{} } 块中有 Container.stop() 但它似乎不起作用.我不希望 ssh 进入我的 Jenkins 服务器以在
..
我正在使用以下命令运行 jenkins 管道: kubectl exec -it kafkacat-5f8fcfcc57-2txhc -- kafkacat -b cord-kafka -C -t BBSim-OLT-0-Events -o s@1585031458 在运行管道的机器的终端上运行良好,但在实际管道上我收到以下错误:“无法使用 TTY - 输入不是终端或正确的文件类型" 关
..
..
我在 我的 Jenkinsfile 中有一个阶段从匹配标签名称过滤器的标签构建: stage('Build Release from Tag') {什么时候 {标签“*发布"} 为了让标签被发现,我必须在 Branch sources > 下添加标签发现和标签名称正则表达式的匹配项以及我的管道.GitHub : 管道确实会发现我推送的与过滤器匹配的标签.如果我单击一个为其运行构建,那么
..
我有一个名为 buildall 的管道作业,如下所示: 管道{阶段{阶段(“工作1"){构建工作:“job1"}}} buildall 作业有 25 个参数.我想将 buildall 的所有参数传递给 job1.有没有一种简单的方法可以做到这一点,而不是手动指定每个参数? 在这个问题中:管道传递参数到下游作业有人问了一个子问题,但从未回答:或者更好的是,有没有一种不那么繁琐的方法,我可以
..
我开始实现 Jenkins 共享库并尝试使用 intellij 作为我的 ide 编写我的 jenkinsfile. 我如何从共享 lib 存储库中获取函数到包含 jenkins 文件的另一个存储库. 只是为了澄清从 jenkins 运行时事情对我有用,但我需要一种简单的方法来编写我的 jenkins 文件,并使用来自 shared-lib 存储库的函数. 解决方案 你可以尝试
..
我正在尝试使用在 Jenkinsfile 中的任何节点之外定义的环境变量.我可以在任何节点的任何管道步骤中将它们纳入范围,但不能在函数内部.我现在能想到的唯一解决方案是将它们作为参数传递.但我想直接在函数内部引用环境变量,这样我就不必传入这么多参数.这是我的代码.如何让函数输出正确的 BRANCH_TEST 值? def BRANCH_TEST = "master";节点{部署()}定义部署()
..
我们有一个 Jenkinsfile,它使用 docker 插件在给定容器中运行脚本.这适用于某些图像,但在其他图像上会立即失败,并出现 -1 退出代码.我们已将错误减少到一个简单的sleep.这是 Jenkins 文件: node("docker") {def wheezy_image = docker.image("pyca/cryptography-runner-wheezy")wheezy
..
在我们的 Jenkins Pipeline 工作中,我们有几个阶段,我希望如果任何阶段失败,则停止构建而不继续进入其他阶段. 以下是其中一个阶段的示例: stage('Building') {def result = sh returnStatus: true, script: './build.sh'如果(结果!= 0){echo '[FAILURE] 构建失败'currentBuild
..
当我运行管道 dsl jenkins 作业时,我从持久任务插件中收到错误. 错误信息提示我应该使用: -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=300 这是我得到的错误: \workspace\ne-sw-manifest_master-5ZF5EWBP7EVBXEBF6
..
运行大型 Jenkins 流水线脚本时,会报错: org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败:类生成期间的一般错误:方法代码太大! java.lang.RuntimeException: 方法代码太大! 此错误的原因是什么?如何解决? 解决方案 这是由于 Java 和 Groovy
..
我想在 Jenkins 流水线作业中使用 Switch 语句. def 版本 = "1.2"开关(GIT_BRANCH){案例“发展":结果=“开发"休息案例 ["master", "support/${version}"]:结果=“列表"休息案例“支持/${版本}":结果=“支持"休息默认:结果=“定义"休息}回声“${结果}" 当 GIT_BRANCH 等于: develop - 返
..
非常令人沮丧,我找不到这样的例子.如何设置默认选项? 参数{选择(默认值:'bbb',名称:'param1',选择:'aaa\nbbb\nccc',描述:“lkdsjflksjlsjdf")} defaultValue 在这里无效.如果管道以非手动方式运行(通过提交),我希望选择是可选的并设置默认值. 解决方案 您不能在选项中指定默认值.根据 choice 输入的文档,第一个选项将是默
..
为了自动化,我想用管道作业初始化一个 Jenkins 2.0 实例.我想创建一个在启动时复制到 /usr/share/jenkins/ref/init.groovy.d/ 文件夹的 Groovy 脚本.该脚本应创建一个 Jenkins 2.0 流水线作业,用于处理来自 SCM 的 Jenkinsfile. 我找不到 2.0 管道类的相关 Javadoc 或如何执行此操作的示例. 以前,
..
我的 .Jenkinsfile 是这样的: properties([[$class: 'GitLabConnectionProperty', gitLabConnection: 'gitlab@srv']])节点{env.JAVA_HOME = 工具 'JDK 7'def mvnHome = 工具'Maven 3.2.2'def nodeJS = 工具 'IA_NodeJS'env.PATH =
..
我正在尝试动态构建并行阶段,如 here 和 这里.具体来说,我试图在管道范围之外定义的函数中执行此操作,例如: 管道{阶段{阶段('CI'){脚步{doDynamicParallelSteps()}}}}def doDynamicParallelSteps(){测试 = [:]for (f in findFiles(glob: '**/html/*.html')) {测试["${f}"] =
..
如何使用 Jenkins REST API 获取作业的详细信息及其控制台输出 构建示例 控制台输出: 我正在使用以下命令来获取控制台日志的路径 回显 $JENKINS_HOME/jobs/$JOB_NAME/builds/${BUILD_NUMBER}/log 回显 $BUILD_URL/consoleText 它将提供控制台日志的路径 http://lo
..
我在 Jenkins 中有一个动态脚本流水线,它有许多并行阶段,但在每个阶段中,都有多个串行步骤.我浪费了几天时间试图让它工作:无论我尝试什么,所有串行子阶段都集中在一个阶段!这是我现在拥有的: 节点(){阶段(“并行演示"){//并行运行步骤的规范示例//我们将在其中存储步骤的地图def stepToRun = [:]对于 (int i = 1; i
..
参考这个问题 有没有办法在使用多分支管道时获取等效信息?具体来说 - 自上次成功构建以来的提交列表. 目前我们使用如下 def scmAction = build?.actions.find { action ->jenkins.scm.api.SCMRevisionAction 的动作实例}返回 scmAction?.revision?.hash 但是如果推送了多个提交,这只会返回触发
..