2013-05-29 60 views

回答

4

當構建觸發器用於啓動建設,就沒有辦法來傳遞參數。由於作業已參數化,自動啓動作業將使用默認參數運行。

如果這足夠好,那麼您可以通過作業配置頁面的「構建觸發器」部分簡單地設置您希望它運行的計劃,然後選擇「定期生成」複選框並添加適當的值(使用cron的語法)。讓默認參數生效。

但是,您可以將POST張貼到jenkins作爲觸發器,並傳遞您希望的確切值。然後您必須使用CRON直接使用shell腳本,因此您可以設置參數值。

例如,

http://example.com/jenkins/job/this_job/buildWithParameters?PARAMETER=Value

21

至少兩種方式來處理這個問題,
但你必須事先知道所需的值:

  • 設置作業的默認值你需要什麼,
    然後安排它運行,只要你喜歡。

  • 相反調度參數工作,
    創建另一個工作,而通過有關
    值參數
    (這也可以讓你啓動目標任務將觸發
    參數工作
    具有不同的值集合)。

編輯:

這第三種方法可以讓你更新的參數值需要:

  • 設置從配置文件讀取的參數值工作
    (通過EnvInject Plugin),然後在運行作業之前更新該配置文件
    的內容。

注意這將是不好的做法,因爲有更好的方法來自動啓動詹金斯的工作崗位與參數每次運行前修改這個文件,

+0

嘿@gonen,這可能很愚蠢,但我們該如何設置作業的默認值? – Maulzey

+4

@Maulzey,Jenkins作業中的每個參數都有一個默認值 - 文本字段的內容,複選框的狀態(set或unset),Dropbox的第一項等。如果不確定,默認值是您在選擇「立即生成」時看到的值。 – Gonen

+0

TY!得到它排序:D – Maulzey

4

建立在Gonen的答案一點點,你可以使用Build Flow Plugin,使自己更容易一點。安裝完成後,創建一個新的作業並將其類型設置爲「Build Flow」。將此作業配置爲在所需的預定時間運行。在部分適合這個工作「使用流動DSL定義生成流」,指定要其建設工作(S):通過添加更多的線

build("Job You Want Built", param1:"whatever", Param2:"whatever") 

您可以指定更多的就業機會,將建成或重複同一行並更改參數以使用不同的參數多次構建作業。

完成後,您的Build Flow作業將在預定時間運行,並使用指定的參數啓動所需的作業。

4

Jenkins crontab允許計劃作業在特定時間運行但尚未允許參數傳遞。

但有this Jenkins feature request將其擴展爲傳遞參數。一旦可用,它會讓你做你想做的事,而不需要像其他一些答案所建議的那樣創建額外的Jenkins作業。

如果能幫助您,您可以投票選擇此功能,以便儘早將其包含在Jenkins中。

+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 - [發表評論](/ review/low-quality-posts/11190984) – Prune

+1

@Prune我已經鏈接到的功能將完成作者想要實現的功能,因此我認爲這對於其他人知道它的存在是有幫助和相關的。我已經重申了我的答案,使之更清晰。 –

+1

手術短語是「一次實施」。是的,這是有益的和相關的:作爲評論,我會投票。 – Prune

3

可以使用Parameter Scheduler Plugin

它可以讓你到cron時間表後指定的參數,比如:%後

H(0-29)/10 * * * * % name=value; othername=othervalue 

名稱值對被解釋爲參數。