Ruby (Rails)

Данная конфигурация подходит, если проект собирается при помощи Ruby.

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

Секция meta

Секция meta файла amvera.yml будет выглядеть следующим образом:

meta:
  environment: ruby
  toolchain:
    name: bundle
    version: 3.0

Из параметров, которые можно здесь менять это meta.toolchain.version. Логически это версия Ruby, которую нужно использовать для сборки. Технически значение version подставляется в имя образа Docker, который будет использован.

Для фазы сборки и запуска это ruby:${meta.toolchain.version}. Допустимые значения можно увидеть на странице докер хаба.

Важно

Значение meta.toolchain.version должно быть допустимым как для фазы сборки, так и для фазы запуска. Лучше всего подходит простой номер LTS версии Ruby.

Секция build

В секции build могут быть указаны следующие параметры:

  • image

Параметр image позволяет использовать другой образ для сборки, а не тот, который предлагается Amvera. Образ должен удовлетворять следующим требованиям:

  • исходный код для сборки ожидается в папке /app (или образу без разницы, где будет находиться исходный код);

Секция run

В секции run могут быть использованы следующие параметры:

  • image

  • mainScript

  • persistenceMount

  • containerPort

Параметр image позволяет использовать другой образ для сборки, а не тот, который предлагается Amvera. Образ должен удовлетворять следующим требованиям:

  • результат сборки ожидается в папке /app (или образу без разницы, где будет находиться результат сборки);

Параметр mainScript позволяет указать главный скрипт в проекте, с расширением.

Параметр persistenceMount позволяет указать, в какую директорию будет примонтирована папка с постоянным хранилищем. По умолчанию имеет значение /data.

Параметр containerPort позволяет указать какой порт слушает приложение. По умолчанию имеет значение 80.

Важно

Если вы используете обычный Ruby, без каких либо фреймворков. Необходимо добавить файл в ваш проект Gemfile, в который добавить минимальную конфигурацию. Содержимое Gemfile:

source "https://rubygems.org"

Рецепты

Минимальный файл amvera.yml

meta:
  environment: ruby
  toolchain:
    name: bundle
    version: 3.0

run:
  mainScript: WebService.rb