У меня есть приложение Scala Play Framework в Heroku. Я хочу установить новую реликвию, но я не хочу добавлять java-агент в мой репозиторий git. Я думаю, что репозиторий должен содержать только код, файлы конфигурации и т.д., Возможно, за исключением статических активов, таких как изображения. Никогда не бинарные зависимости.
Есть ли способ достичь этого?
Я нашел, что решение состоит в том, чтобы добавить новые реликвии из репозитория Maven, а затем указать Procfile в нужное место. Подробное решение для Scala, но должно работать и на Java:
Загрузите файл newrelic.yml и добавьте его в свой репозиторий git в корневое приложение Play Framework.
Добавьте новую зависимость Relic к Build.scala:
val appDependencies = Seq(
"com.newrelic.agent.java" % "newrelic-agent" % "3.7.0",
//Other dependencies here
)
val main = play.Project(appName, appVersion, appDependencies)
Добавьте в web:
запись вашего Pro файла приложения Play Framework (все в одной строке):
-J-javaagent:target/universal/stage/lib/com.newrelic.agent.java.newrelic-agent-3.7.0.jar
-J-Dnewrelic.config.file=newrelic.yml
Зафиксируйте все свои изменения и нажмите на свой репозиторий git Heroku app.
Подождите, пока Heroku построит и развернет приложение, а затем несколько минут, чтобы New Relic начала отображать данные.
Drool at New Relic InfoPorn! : -D
Я нашел путь, по которому агент New Relic загружался из репозитория Maven, подключившись к моему терминалу приложений Heroku (heroku run bash
в CLI) и поиск.