RPM( Red Hat Package Manager)系統(tǒng),用于基于Red Hat的各種系統(tǒng),給這個問題提供了一個解決方案。RPM系統(tǒng)的核心是一個稱為spec文件的構件描述文件。它列出了需要成功構建所需的構建依賴、構建命令,還有使用的配置選項。因為一個spec文件本質上是一個基于宏的shell腳本,所以你可以用它來構建許多類型的軟件。砌,M系統(tǒng)也認為構建源代碼應該從零開始。可以用構建之前通過spec文件給源代碼打包的方式適配源代碼。
最終工件
在使用RPM系統(tǒng)完成構建之后,你得到了一個RPM文件,這種類型可以很方便地給Red Hat系列操作系統(tǒng)部署工件。對于Debian系的發(fā)行版來說,你得到的是個.deb文件。
Maven構建的最終結果一般是企業(yè)級檔案,簡稱EAR文件。它包含著Java企業(yè)級應用。
它是我們之后要部署到生產服務器上的最終部署工件。
本章我們關心部署所需工件的構建,在第7章部署代碼中,我們討論工件的最終部署。
盡管如此,即使在構建工件的時候,我們也需要理解如何部署它們。現(xiàn)在,我們將要使用以下的經(jīng)驗法則:操作系統(tǒng)級別的包優(yōu)于特定的包。這是我的個人喜好,其他人可能不同意。
讓我們簡要地討論一下這個經(jīng)驗法則的背景和其他的方案。