Есть задание конвейера Дженкинса ("родитель"). Из него - на одном этапе вызывается другое задание конвейера ("дочерний" - с помощью команды build job)
Есть ли способ вернуть что-то (например, короткий текст) из дочернего задания в родительское без использования внешних сервисов, таких как искусственные, и не предполагая, что родительские и дочерние задания находятся на одном компьютере?
Eine Möglichkeit, dies zu tun, sind die in Jenkins integrierten Artefakte. Ich verwende JSON gerne für diesen Zweck, da die Pipeline die Methoden readJSON
und writeJSON
integriert hat.
So könnte beispielsweise die Konfiguration des übergeordneten Jobs aussehen:
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
}
Und dann müsste Ihr untergeordneter Job die Datei mydata.json
in den Artefaktspeicher irgendwo in seiner Pipeline-Jobkonfiguration schreiben, z. B.:
mydata = [mykey: 'myvalue']
writeJSON file: 'mydata.json', json: mydata
archiveArtifacts artifacts: 'mydata.json', onlyIfSuccessful: true