Source-to-Image (S2I)
Source-to-Image (S2I) — это инструмент для создания образов контейнера воспроизводимых в Docker. S2I внедряет исходный код приложения в образ контейнера и создает готовые к запуску образы (выполняет сборку приложения из исходного кода и обеспечивает его запуск с нужным окружением и параметрами).
Чтобы запустить Source-to-Image (S2I) при создании нового BuilderСonfig с помощью веб-консоли Developer:
Перейдите на вкладку Build.
Cоздайте Build Сonfig. Для этого нажмите на кнопку Create Build Config.
В меню 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 здесь.