[英]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.