我們有一個在Ubuntu上運行的java web應用程序(war),這對於a)安裝程序和b)安裝更新非常耗時。我們想將它自動化,但是我們不知道rpm包能做什麼和配置工具如puppet/chef/salt等可以/應該做什麼之間的界限。我們沒有資源去嘗試一切。rpm/deb或puppet/chef/salt - 從哪裏開始爲應用程序安裝腳本?
有兩臺服務器要配置一次 - 一個用mysql,另一個用tomcat & java。每個都需要編輯配置文件(my.cnf,server.xml)以及其他安裝的東西(如sendmail),爲我們的應用程序創建一個用戶,在〜/ .grails中添加一個配置文件以及特定於環境的設置。據推測,這隻能通過木偶或手工完成,而不能使用rpm腳本。其次,我們的應用程序有許多步驟可以完成。我們即將嘗試學習&使用rpm,但我們不確定這是否是正確的方法。
這是我們做什麼來安裝我們的應用程序:
- wget的liquibase並在我們的系統中的用戶主目錄解壓。
- 複製我們的戰爭和liquibase文件焦油。
- 創建一個腳本來針對mysql服務器運行liquibase,並用該環境使用的任何內容替換IP/DB名稱。
- stop tomcat。
- 運行腳本以更新數據庫模式。
- 將戰爭放入webapps目錄。
- 啓動tomcat。
- 檢查日誌文件是否有錯誤。
問題是我們不知道如何獲得rpm知道像mysql服務器ip地址這樣的東西,除非應該使用環境變量?或者我們不應該使用rmp,只是使用puppet來做所有事情?
的問題是,究竟是爲了什麼應該RPM做的方針,又該外面做,在
一個方面。最初的服務器配置有諸如mysl,tomcat和系統用戶之類的東西,以及
b。安裝更新到我們的應用程序(這通常只是一個新的戰爭和一個新的liquibase更新日誌,必須執行),但偶爾會需要更改配置文件。
兩者都可以移動文件,並運行腳本。
我們的應用程序沒有源代碼編譯,它是獨立於任何架構的(只需要JAVA)
這是幾個問題 - 分離它會得到更多有用的答案。 –