jenkins – 从小孩的工作回报的东西

有一个jenkinspipe道工(“父母”)。 从它 – 在一个阶段被称为另一个pipe道工作(“孩子” – 使用build立工作命令)。

有没有什么办法可以将一些东西(例如简短的文本)从孩子回复到父母的工作,而不需要使用外部的服务,比如说,并且不要假设父母和孩子的工作在同一台机器上?

Jenkins的内置工件就是你能做到的一个方法。 我喜欢为此使用JSON,因为Pipeline内置了readJSONwriteJSON方法。

例如,以下是父作业的configuration可能如下所示:

 build job: "myproject", wait: true step([ $class: 'CopyArtifact', filter: 'mydata.json', projectName: "myproject", ]) if (fileExists("mydata.json")) { mydata = readJSON file: "mydata.json" myvalue = mydata.mykey } 

然后,您的子作业需要将mydata.json文件写入工件configuration中某处的工件存储库,例如:

 mydata = [mykey: 'myvalue'] writeJSON file: 'mydata.json', json: mydata archiveArtifacts artifacts: 'mydata.json', onlyIfSuccessful: true