[英]Switching between profiles to manage multiple implementations on one spring interface
[英]How to manage multiple Spring profiles with Heroku
我正在為我的應用程序設置一個新環境,我們只有“ prod”環境,我想創建一個測試環境,為此,我配置了兩個Spring配置文件“ test”和“ prod”,並創建了一個新分支稱為“測試”,我們想要擁有測試環境並將該分支推向生產,就像對產品的“促銷”一樣。 這是我們application.yml
的摘錄
spring:
profiles: test
{some properties...}
---
spring:
profiles: prod
{some properties...}
我們正在使用Heroku從AzureDevOps部署我們的應用程序和存儲庫,我們還有一個在將提交推送到master時運行的管道,該管道將AzureDevOps master分支推送到Heroku存儲庫。 在Heroku中,我們有一個基於“ staging”創建的應用程序,我們還沒有添加“ production”應用程序(不確定它是否相關,但是我想澄清一下)。
這是管道:
git checkout $(Build.SourceBranchName)
git remote add heroku https://heroku:$(pat)@git.heroku.com/app-hto.git
git push heroku $(Build.SourceBranchName)
要指定配置文件,我在Java項目中使用Procfile
文件,其中包含以下內容:
web: java -Dspring.profiles.active=prod -Dserver.port=$PORT $JAVA_OPTS -jar target/api-0.0.1-SNAPSHOT.jar
如您所見,我不是Heroku專家,所以我不知道如何進行操作,所以我的問題是,如何指定每種環境使用哪種配置文件? 有沒有一種方法可以使用AzureDevOps管道來實現?
Azure Devops可能能夠完成此任務,但是這很復雜。
用heroku會更容易實現這一目標。 Heroku本身提供了通過cli,儀表板或api控制哪個配置文件處於活動狀態的方法。 詳情請點擊這里
希望我指出正確的方向。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.