Tag: jenkins pipeline

Jenkins管道和java.nio.file。*方法的问题

我试图使用java.nio.file。*中的方法在Jenkins管道中执行一些基本的文件操作。 无论代码存在于哪个节点块,代码都在主节点上执行。 在管道中,我已经validation了各种节点块是正确的 – 它们唯一地标识特定节点。 但是,pathExists(以及移动,复制或删除文件的其他代码)始终在主节点上执行。 任何想法发生了什么或如何解决它? import java.nio.file.* String slavePath = ‘C:\\Something\\only\\on\\slave\\node’ String masterPath = ‘D:\\Something\\only\\on\\master\\node’ def pathExists (String pathName) { def myPath = new File(pathName) return (myPath.exists()) } stage(‘One’) { node (‘slave’) { bat returnStatus: true, script: ‘set’ println (pathExists(slavePath)) // Should be true but is false. println (pathExists(masterPath)) // Should be false […]

在IntelliJ中的Java项目中使用.gdsl文件

我有一个文件pipeline.gdsl ,其中包含我的Jenkins管道DSL的语法。 在这篇博客文章之后,我把文件放到我的Java项目的/src文件夹中。 当我现在编辑我的Jenkinsfile (驻留在我的项目的根文件夹中)时,我没有像我期望的那样得到任何代码完成/语法解释。 我的项目是一个Java / Gradle项目,我不能用它来创建一个Groovy项目。 有没有其他方法使IntelliJ知道.gdsl文件并提供代码完成?

如何在Groovy Jenkins管道中使用全局外部Java库中的方法?

首先,我是Java,Groovy和Jenkins的新手所以请耐心等待我;) 我正在准备一个支持Pipeline的Jenkins服务器,以便将来在我们的构建环境中使用。 我们使用一种特殊的内部脚本语言,我必须在java中编写一个包装器。 没有选择只在Groovy中完成这项工作,我们必须使用这种特殊语言。 我已经尝试了很多方法将java lib引用到这个jenkins项目但是都没有用。 主要是我使用了https://github.com/jenkinsci/workflow-cps-global-lib-plugin上的文档来实现这一点,但也尝试了几种搜索google或stackoverflow的方法。 在文档之后,这应该是可能的。 我已将流程简化为测试设置以进行测试。 假设以下…… 我在Jenkins有一个名为’MultibranchTestProject01’的多分支项目。 jenkins文件: @Library(‘DeltaJenkinsScripts@develop’) def runStageCollect = true if (runStageCollect) { stage(“Collect”) { helloWorld(“Joe”) } } 引用的库通过Jenkins设置中的“全局管道库”全局引用,但也明确说明了这些内容。 它托管在一个git环境中,引用似乎有效。 该库的文件结构: /vars/helloWorld.groovy package de.dcomp.prod def call(name) { def tt = new Test() tt.testText() } /src/de/dcomp/prod/Test.groovy package de.dcomp.prod import de.dcomp.ftel.* def testText() { def sRetVal = “” echo “testText […]