Source-to-Image (S2I)

Source-to-Image (S2I) — это инструмент для создания образов контейнера воспроизводимых в Docker. S2I внедряет исходный код приложения в образ контейнера и создает готовые к запуску образы (выполняет сборку приложения из исходного кода и обеспечивает его запуск с нужным окружением и параметрами).

Чтобы запустить Source-to-Image (S2I) при создании нового BuilderСonfig с помощью веб-консоли Developer:

  1. Перейдите на вкладку Build.

  2. Cоздайте Build Сonfig. Для этого нажмите на кнопку Create Build Config.

  3. В меню Build Config Samples → Source-to-Image (S2I) build нажмите на кнопку Try it, чтобы открыть код сборки, или нажмите на кнопку Download YAML, чтобы скачать код.

Выполнение инкрементных сборок Source-to-Image (S2I)

Чтобы создать инкрементную сборку создайте Build Config используя следующую модификацию определения стратегии:

strategy:
 sourceStrategy:
  from:
   kind: "ImageStreamTag"
   name: "incremental-image:latest"
  incremental: true

В поле name укажите образ, который поддерживает инкрементные сборки.

Переопределение сценариев Source-to-Image (S2I)

Чтобы переопределить сценарии сборки, запуска и сохранения артефактов S2I добавьте сценарий сборки, запуска или сохранения артефактов в каталог .s2i/bin исходного репозитория приложения или укажите URL-адрес каталога, содержащего сценарий.

Пример:

strategy:
 sourceStrategy:
  from:
    kind: "ImageStreamTag"
    name:"builder-image:latest"
 scripts: http://somehost.com/scripts_directory

Переменные среды Source-to-Image (S2I)

Добавить переменные среды в сборку можно с помощью 2-х параметров:

Файлы среды Source-to-Image (S2I)

Добавить значения среды (по одному на строку) внутри приложения, можно указав их значение в файле .s2i / environment в исходном репозитории.

Например, чтобы отключить компиляцию ресурсов для Rails-приложения во время сборки добавьте переменную DISABLE_ASSET_COMPILATION=true в файл .s2i / environment.

Использование среды Build Config

Вы можете добавить переменные окружения к определению sourceStrategy Build Config. Определенные переменные среды видны во время выполнения сценария сборки и будут определены в выходном образе.

Например, чтобы отключить компиляцию ресурсов для Rails-приложения:

sourceStrategy:
...
env:
  - name: "DISABLE_ASSET_COMPILATION"
value: "true"

Важно

Добавленные переменные среды будут запущены в процессе сборки и в выходном образе.

См.также

Подробнее о S2I здесь.