2013-03-29 49 views
3

我們有幾個作業在不同的數據庫模式下運行我們的應用程序。
現在每個作業都使用自己的數據庫模式。
現在很方便。
如果多次啓動相同的作業,那麼這些構建將逐個執行,而不是並行執行,因爲它們使用相同的DB方案。
是否可以在Jenkins中管理數據庫模式列表?
如果某個方案現在沒有被任何工作使用,那麼新的工作可以開始使用這個免費方案。
有沒有一些插件可以做到這一點?如何管理Jenkins/Hudson中的作業之間的共享資源?

+0

你的工作持續時間是多少? – plsgogame

+0

不同。 5-10分鐘,1小時,.. –

+0

這是一個有趣的問題。你有沒有找到它的解決方案? – mmalmeida

回答

0

我認爲,如果他們運行10-15分鐘,那麼它會建立彙編只有一個工作。 但在這種情況下,你可以使用腳本來處理數據庫的管理。

  1. 檢查可用的DB(可以使用其名稱DB db.txt文件)
  2. 獲取名免費數據庫,並把這個名稱來配置文件應用程序或配置工作。
  3. 標記db.txt文件此數據庫「不可用」。
  4. 完成作業後,設置此數據庫可用。

如果你運行第二個任務並行腳本檢查列表數據庫,並把第二個數據庫,因爲第一個數據庫是與標記「不可用」。

如果我不明白你的Q,請原諒我。

+0

我不能只創建一個作業。應該有能力分開運行工作。我知道可以創建我們自己的數據庫管理工具/腳本。但Jenkins有很多插件。也許有一個可以解決我們的問題:) –

+0

你不需要只創建一個作業,你可以使用這個腳本的許多工作。這個腳本不會很複雜。 – plsgogame

+0

這將是複雜的。如何檢查該數據庫沒有被使用?作業可以手動停止或由於某種原因失敗。在這種情況下,作業不會通知,該數據庫是免費的。 –

0

嘗試使用Jenkins Exclusion Plugin。您必須將每個數據庫定義爲單獨的資源,並將每個作業設置爲監控正確的資源。

我們將它用於多個作業之間非常相似的情況。

+0

我不明白如何使用它。作業可以使用db1或db2或db3或...但是如果作業開始使用db1,那麼其他作業應該能夠使用db2和db3。如何爲這種情況配置插件? –

+0

我想我誤解了你原來的問題。看起來你真正想要的是能夠讓Jenkins在運行時從一個DB池中分配一個DB到一個作業。那是對的嗎?如果是,那麼這將無濟於事。 – jwernerny

+0

不僅DB。如果作業完成或由用戶停止,則在作業開始時分配一些資源並將該資源放回池中。 –