Файл конфигурации

Для настройки сборки и запуска проекта можно создать файл amvera.yml или amvera.yaml в корне репозитория. Альтернативой является использование Dockerfile.

Создать amvera.yaml лучше всего в интерфейсе приложения в разделе «Конфигурация» так он автоматически добавится в корень проекта создав при этом новый коммит в гит репозиторий. Возможно так-же воспользоваться нашим генератором yaml, перейдя по ссылке, либо самостоятельно, используя инструкции ниже.

Если файл конфигурации отсутствует, то Amvera будет искать файл Dockerfile.

Если Dockerfile будет найден, он будет использоваться для сборки. Если Dockerfile также не будет найден, сборка завершится провалом.

В дальнейшем на файл amvera.yml или amvera.yaml для определенности будем ссылаться как amvera.yaml.

Структура конфигурационного файла

Файл amvera.yaml состоит из трех секций.

meta

Секция meta определяет общую информацию о сборке, такую как окружение и инструменты сборки. Со списком поддерживаемых окружений и подробным их описанием можно ознакомиться на этой странице.

Пример секции meta для JVM приложения, собираемого при помощи Maven:

meta:
  environment: jvm
  toolchain:
    name: maven
    version: 17

Подробнее о сборке JVM приложений с помощью Maven в сервисе Amvera можно прочитать здесь.

build

Секция build определяет параметры, необходимые для сборки приложения. Для разных окружений эти параметры разные. Про параметры для вашего окружения можно прочитать в соответствующем разделе данной документации.

Если указывать параметры сборки не нужно, то секцию build можно опустить.

В нашем примере сборки JVM приложения при помощи Maven все параметры build являются необязательными. Однако если нужно указать дополнительные параметры компиляции, сделать это можно следующим образом:

build:
  args: -Dserver.port=80 -Pproduction

run

Секция run определяет параметры, необходимые для запуска приложения. Аналогично сборке для разных окружения эти параметры разные и описаны в соответствующем разделе данной документации.

Так, параметр persistenceMount задает то, в какую папку будет примонтировано постоянное хранилище. Иными словами, если там указано /data, то именно по этому пути следует сохранять важные файлы во время работы приложения.

Если указывать параметры запуска не нужно, то секцию run можно опустить.

В нашем примере сборки JVM приложения при помощи Maven, в секции run необходимо как минимум указать путь до jar-файла относительно корня проекта:

run:
  jarName: bag-end.jar

Пример

Так, весь файл amvera.yaml для нашего примера выглядит следующим образом:

meta:
  environment: jvm
  toolchain:
    name: maven
    version: 17

build:
  args: -Dserver.port=80 -Pproduction

run:
  jarName: bag-end.jar

Так как формат файла конфигурации YAML, секции можно указывать в любом порядке.