2012-09-14 67 views
5

我有大約20個使用常用參數(用戶,密碼)的作業,有時密碼會過期...所以我必須在所有作業上更改它,這非常耗時並容易出錯,我可能會忘記一個)。Hudson/Jenkins:共享幾個作業之間的參數

我想過:

  • 使用一種魔法屬性文件,如果存在有像KEY直接線,增值到作業參數
  • 添加相同的密鑰種類,值對直接內build.xml,但哪裏?而且這真的很難看......也許用專用的XML嵌入build.xml
  • 調用從工作會(如何?)推到父一個期望值...

正如你可以看到,我只在哈得遜/詹金斯開始(我使用詹金斯1.424.2.2),感謝您的幫助!

編輯:我不是詹金斯實例的管理,所以我不能訪問全局屬性...

回答

0

我終究成功者:

  • 保持加密憑證在網頁中
  • 檢索它們在哈德森由於shell腳本(wget的),對它們進行解密,並與線name=value工作區創建build.properties文件(在我的情況ssh.password=...

這是有效的,因爲Ant構建步驟會檢測此文件並將其中的變量傳遞到其上下文中。感謝這一點,我可以集中我的憑據。

1

我能想到的兩種方法:

  • 使用全球屬性,在下找到管理Jenkins配置系統。在這裏您可以定義應該可用於所有作業的環境變量。

  • 編寫一個小腳本,用於下載,修改和發佈作業配置:http://[jenkinshost]/job/[jobname]/config.xml

您可以閱讀http://[jenkinshost]/job/[jobname]/api下的API功能,這裏是它說什麼關於閱讀和更改config.xml:

讀取/更新的config.xml

要以編程方式獲取config.xml,點擊 [http://[jenkinshost]/job/[jobname]/config.xml]。您也可以將 更新後的config.xml發佈到相同的URL,以編程方式更新作業的 配置。

+0

如上所述,我不是管理員,所以我無法訪問全局屬性;但第二個解決方案看起來很有希望,讓我們看看我是否可以設法做我想玩的東西... – Emmanuel

6

家轉到您的詹金斯和導航:

  1. 管理詹金斯>
  2. 配置系統>
  3. 全局屬性>
  4. 環境變量>....
+0

好點:我剛剛編輯過,我不是管理員,所以我不能使用全局屬性(和管理員肯定不會讓我和他們一起玩)。 – Emmanuel

+1

:(錯過了趕時間的編輯反正Anders的第二種方法似乎是現在的方式;否則我們可以打電話給@Koshuke :) –

+0

哦,你不會錯過它,我剛剛添加它是因爲你談到了全球性質: - ) – Emmanuel