猿问

如何使用 Heroku 管理多个 Spring 配置文件

我正在为我的应用程序设置一个新环境,我们只有“prod”环境,我想创建一个测试环境,为此,我配置了两个 Spring 配置文件“test”和“prod”,并创建了一个新分支称为“测试”,我们希望拥有测试环境并将该分支推送到 master,就像一种“升级”到生产环境一样。这是我们的摘录application.yml


spring:

  profiles: test

 {some properties...}


---


spring:

  profiles: prod

 {some properties...}

我们使用 Heroku 从 AzureDevOps 部署我们的应用程序和存储库,其中我们还有一个管道在我们将提交推送到 master 时运行,该管道将 AzureDevOps master 分支推送到 Heroku 存储库。在 Heroku 中,我们在“登台”上创建了一个应用程序,但我们尚未添加“生产”应用程序(不确定它是否相关,但我想澄清一下)。


这是管道:


git checkout $(Build.SourceBranchName)

git remote add heroku https://heroku:$(pat)@git.heroku.com/app-hto.git

git push heroku $(Build.SourceBranchName)

为了指定配置文件,我Procfile在 Java 项目中使用该文件,其中有:


web: java -Dspring.profiles.active=prod -Dserver.port=$PORT $JAVA_OPTS -jar target/api-0.0.1-SNAPSHOT.jar

正如你所看到的,我不是 Heroku 专家,所以我不知道如何继续,所以,我的问题是,如何指定每个环境使用哪个配置文件?有没有办法使用 AzureDevOps 管道来实现这一点?


蝴蝶刀刀
浏览 83回答 1
1回答

慕神8447489

Azure DevOps 也许能够实现这一点,但会很复杂。使用heroku 会更容易实现这一点。Heroku 本身提供了通过 cli、仪表板或 api 控制哪个配置文件处于活动状态的方法。希望我指出正确的方向。
随时随地看视频慕课网APP

相关分类

Java
我要回答