2016-04-16 28 views
1

我試圖使用github和jenkins作業自動化部署代碼的過程以在AWS上部署我的Springboot應用程序。springboot中特定於環境的application.properties應用

我想知道我應該在哪裏放置application.properties文件,以防我在Tomcat上部署war文件並且不希望將該文件推送到github上,因爲它可能包含某些數據庫憑據,而不是裸露。

我應該把Tomcat中(AWS)單獨application-prod.properties文件,這樣我的戰爭文件將獨立於這些特性的?

回答

1

查看我的回答here

簡而言之,你外在化的屬性,然後通過一個或多個配置文件將激活一個或多個Spring配置類。每個配置類將加載一個或多個屬性文件。在你的情況下,如果你只有一個環境,你可以爲一個配置文件創建一個配置文件。

然後,在您的AWS實例上,您將單獨部署配置文件。在運行時,您需要將活動配置文件傳遞給Spring Boot應用程序。您可以通過傳遞VM參數來完成此操作:-Dspring.profiles.active = [your-profile]

我正在完成一個在線課程的最終講座,該課程展示瞭如何從頭開始創建帶有Thymeleaf的Spring Boot網站,Spring Security,電子郵件和數據JPA,如何使用Stripe處理信用卡付款以及如何部署到AWS。您可以註冊您的興趣here

+0

鏈接被破壞,無法到達網站。 – Prashant

+0

道歉,我現在修復它 –

+0

使用jenkins使用github代碼構建戰爭,不要以爲它需要application.properties文件存在於github repo上?如果沒有,我應該在哪裏放置prod特定的application.properties到tomcat(在aws中)以便應用程序可以使用它? – Prashant

0

如何使用spring-cloud-starter-config而不是本地屬性?

如果使用spring-cloud-start-config,則應從您的config-center加載所有配置,而不是在本地讀取它們。

即使你有多個不同的環境,spring-cloud-starter-config可以用不同的profiles處理。

更重要的是,spring-cloud-starter-config可以使用本地environment變量太多。

順便說一句,如果您使用的是spring-cloud-starter-config,唯一的本地資源可能是bootstrap.yml

希望我能幫助你!

相關問題