簡體   English   中英

從Python腳本返回值列表到Jenkins Pipeline

[英]Return a list of values from Python Script to Jenkins Pipeline

我有一個詹金斯管道,其中包含以下3個階段(僅作說明):

第1階段:調用python腳本,該腳本應返回應為其構建新發行版的版本號列表

階段2:呼叫Jenkins-Jobs,它們並行地為階段1的每個版本號進行構建。

階段3:在完成所有已構建的作業之后,對已構建的發行版執行其他操作。

我遇到的問題是,我不知道如何處理python腳本的輸出。 在接下來的階段中,如何使用從python函數返回的列表?

我通過bat命令調用python腳本。 我看到,可以通過returnStdout標志重定向批處理命令的輸出,但這僅傳遞python腳本的輸出。

我可以想到的一種可能是將列表存儲在工作區中的json文件中,然后在管道中使用readJson讀回該列表。 但是也許對此有一個更優雅的解決方案。

由於您正在使用管道DSL,因此可以使用Groovy處理對bat的調用結果

pipeline {
    agent any
    steps {
        step('Get Build Numbers') {
            script {
                def version_numbers = bat(script: 'python get_version_numbers.py', returnStdout: true)
                def versions_as_array = version_numbers.split('\n')
            }
        }
    }
}

從那里開始,就需要生成構建步驟並將其包裝在並行塊中。 為此,請看一下以下答案: 使用jenkins管道插件實現動態並行構建的想法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM