2017-06-12 85 views
2

我目前使用Jenkins supermarket cookbook部署一個詹金斯實例作爲服務在我的廚師管理節點上運行。到目前爲止,我修改了我的_master_war_配方文件來安裝Jenkins並使用runit啓動Jenkins作爲服務,安裝我需要的所有插件版本以及啓用基於矩陣的安全性並創建基本管理員帳戶。還應該指出,我們正在使用BitBucket進行源代碼控制。廚師:詹金斯超市食譜自動化作業部署

我也想添加我的工作作爲自動化Jenkins部署的一部分。據我所知,這樣做的方法是將作業配置文件從主廚工作站上的目錄複製到受管節點上的目錄(廚師的緩存路徑)。

Jenkins public supermarket cookbook自述:

的:創建操作需要詹金斯工作config.xml中。該配置文件 必須存在於目標節點上幷包含有效的Jenkins作業 配置文件。因爲Jenkins CLI實際上讀取並且 生成它自己的該文件的副本,所以不要在Jenkins作業中寫入該配置 。我們建議將它們放在Chef的文件 緩存路徑中。

由於這些作業配置會定期更改,所以我想知道在我的廚師工作站上維護作業配置文件的最新副本以便部署到受管節點的最佳方法是什麼?

我是否正確理解Cookbook文檔,因爲我們需要本地副本的作業配置文件(在Chef工作站上),然後將其複製到受管節點上Chef的緩存文件路徑?

在此先感謝任何人能夠提供的幫助。

回答

2

就我個人而言,我計算Jenkins的工作更多地進入詹金斯的領域,而不是廚師。詹金斯社區已經開發了幾種「作爲代碼」的工作方式,最流行的是Job DSLJenkins Pipelines,後者可能是更好的起點。

廚師菜譜的內容是定義種子作業,例如對於「Bitbucket組織文件夾」插件(以及在BitBucket中指向您的組織的一項作業)或Job DSL的所謂「種子作業」。

關於管道的自動設置,我推薦看看Torben Knerr's examples。這將使用

  • 管道(如Jenkinsfile已定義)爲實際的構建工作
  • 作業DSL種子工作,成立了管道作業(S)

關於廚師實際執行,你可以在a cookbook of mine中看到一個例子。 template資源將食譜(位於templates/子目錄中)中的文件複製到某個臨時路徑中,jenkins_job資源從Jenkins服務器上選取該文件。

所以我不知道,如果你這樣做是正確有關:

將需要工作的配置文件的本地副本(廚師工作站)

所以你只需要它曾經在您的工作站上添加到食譜,是的。

+0

我聽取了您的建議,並開始調查Jenkins Pipeline的[Jenkinsfile](https://jenkins.io/doc/book/pipeline/getting-started/)作爲可能的解決方案。感謝您的建議@StephenKing。 – J0991