Последний пакет сборки в цепочке пакетов сборки отвечает за определение команды для запуска вашего приложения, поэтому пакет сборки Java ожидает выполнения JAR/WAR.
Сборочный пакет Java на момент написания этой статьи не содержит сценария supply
, поэтому его можно запустить только как последний сборочный пакет при использовании поддержки нескольких сборочных пакетов. Похоже, что в какой-то момент в будущем пакет сборки Java предоставит скрипт supply
, но он все еще разрабатывается здесь.
На данный момент вы можете использовать apt-buildpack и установить JRE/JDK, который способ.
Для этого добавьте файл с именем apt.yml
в корень папки вашего проекта. В этом файле поместите следующее:
---
packages:
- openjdk-8-jre
repos:
- deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu trusty main
keys:
- https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xEB9B1D8886F44E2A
Это укажет пакету сборок apt добавить PPA для Ubuntu Trusty, где мы можем получить последнюю версию openjdk8. Это устанавливается под /home/vcap/deps/0
, что помещает исполняемый файл java
в /home/vcap/deps/0/lib/jvm/java-8-openjdk-amd64/bin/java
.
Примечание. К сожалению, двоичный файл java
не находится на пути из-за того, как Ubuntu использует update-alternatives
, и мы не можем использовать этот инструмент, чтобы поместить его на путь в контейнере приложения CF, потому что у нас нет корневой доступ.
После настройки вы будете следовать обычным инструкциям. для использования нескольких пакетов сборки.
$ cf push YOUR-APP --no-start -b binary_buildpack
$ cf v3-push YOUR-APP -b https://github.com/cloudfoundry/apt-buildpack#v0.1.1 -b python_buildpack
Примечание. Процесс отправки с использованием нескольких сборочных пакетов, скорее всего, изменится в будущем, и v3-push
, который в настоящее время является экспериментальным, исчезнет.
Примечание. В приведенном выше примере жестко закодирована версия v0.1.1
сборочного пакета apt. Вам следует использовать последнюю стабильную версию, которую вы можете найти здесь. Использование ветки master не рекомендуется.
person
Daniel Mikusa
schedule
10.03.2018