0

我是模式遷移的新手,所以我有點失落:LiquiBase,Maven和Jenkins之間的關係?

LiquiBase:模式遷移,Maven:構建自動化,Jenkins:持續集成。我使用bitBucket進行源代碼控制。

我可以通過命令行,Maven或Jenkins運行LiquiBase。

  1. 是否Jenkins有自己的構建自動化或我必須使用Maven插件構建?如果它有自己的編譯自動化,那麼我可以連接Jenkins和LiquiBase,而不用擔心Maven。

如果詹金斯沒有構建自動化 2.我可以使用LiquiBase Maven插件在pom.xml連接LiquiBase和Maven。然後通過使用Jenkins Maven插件或任何其他方式將它連接到Jenkins?

+0

這將是一個美麗的示例問題在這裏:http://area51.stackexchange.com/proposals/85819/devops –

回答

5

這些都是完全獨立的工具,你似乎至少有一些理解。

Maven - 一個工具,它做了很多工作,並提供插件來做更多的工作。可能會試圖做太多。它的主要功能是編譯和打包Java代碼。它還可以運行單元測試,生成文檔並生成項目網站。當添加插件時,它可以執行諸如靜態代碼分析,數據庫模式遷移,替代打包(即構建Eclipse插件,功能或產品或Android程序或...)

Jenkins - 連續工具集成 - 其最基本的形式包括在源代碼控制工具中等待事情發生變化,運行構建工具(可能還包括測試)以及將構建的構件存檔到已知位置。

Liquibase - 一種保持數據庫模式更改與使用數據庫的隨附代碼同步的工具。

您問「Jenkins有自己的編譯自動化還是我必須使用Maven插件進行編譯?」

詹金斯並不「天生」知道如何建立任何東西。它可以使用Maven,它可以使用Ant,它可以使用make,它可以使用shell腳本,它可以使用你自己釀造的批處理文件和Perl的可憎。它確實對Maven項目有一些內置的理解,因爲它來自Java社區,並且它本身是用Maven構建的。您沒有提及您使用的是哪種語言/平臺,因此選擇Maven作爲構建工具是否合適尚不清楚。如果您正在使用Java或其他基於JVM的語言,那麼Maven可能是合適的。因此,如果您使用Java來構建使用數據庫的基於Web的應用程序,並且您想要實踐持續集成以確保您的應用程序始終通過其自動化測試並始終具有可部署的構件,那麼這三個組件工具可以很好地一起使用。

回到最後的位 - 有很多不同的方式來使用Liquibase。它有不同的命令來完成不同的事情,並且可以用不同的方式運行這些命令。一種方法是使用Maven來運行命令。

我會建議如果你是新手的話,最好從命令行開始使用Liquibase,而不是嘗試使用Liquibase Maven插件。一旦瞭解了它的工作原理,確定使用Maven是否會減少使用命令行遇到的任何「痛苦」。

0

Jenkins可以與maven或任何其他構建自動化工具集成 - 您只需要安裝插件並選擇要使用的版本,並在第一次使用maven運行作業時將會下載它。這將是非常棒的,因爲你將擁有所有項目的maven。

但是,如果你只是有這個項目,Maven和用不上的詹金斯安裝插件,您可以使用maven-wrapper這是自行家3.3.x可與Java 7中運行,你可以使用liquibase與Maven目標包裝

0

您好先生,如果您想通過maven運行liquibase,您必須將該插件添加到poom以及包含xml遷移和參數數據庫 的位置,所以您有兩種方法。 使用Maven,並添加插件,您可以觀看這部影片,它會指導你如何來整合liquibase通過行家: https://www.youtube.com/watch?v=iyWIqN_QjVE&t=19s 第二種方式:您將在詹金斯安裝插件liquibase這個視頻將指導你如何來做到這一點: https://www.youtube.com/watch?v=LAfLsS0BTTQ&t=25s 我希望對你有所幫助。