Build Config

Конфигурация сборки (Build Config) — описывает как будет выполнена сборка:

  • с помощью какой стратегии;

  • какие источники будут использованы для входных и выходных данных;

  • какие триггеры будут использованы;

  • когда будет выполнена новая сборка;

  • какие наборы триггеров будут использованы.

Build Config определяется с помощью объекта REST — Build Config. Build Config можно использовать в POST для API сервера, чтобы создать новую версию приложения.

Подсказка

Build Config в OpenShift Container Platform создается автоматически. При необходимости Build Config можно настроить самостоятельно.

На примере ниже Build Config запускает новую сборку каждый раз, когда изменяется тег образа контейнера или исходный код:

kind: BuildConfig
apiVersion: build.openshift.io/v1
metadata:
  name: "ruby-sample-build"
spec:
  runPolicy: "Serial"
  triggers:
    -
      type: "GitHub"
      github:
        secret: "secret101"
    - type: "Generic"
      generic:
        secret: "secret101"
    -
      type: "ImageChange"
  source:
    git:
      uri: "https://github.com/openshift/ruby-hello-world"
  strategy:
    sourceStrategy:
      from:
        kind: "ImageStreamTag"
        name: "ruby-20-centos7:latest"
  output:
    to:
      kind: "ImageStreamTag"
      name: "origin-ruby-sample:latest"
  postCommit:
      script: "bundle exec rake test"

Где:

  • metadata.name — создает новую Build Config с именем ruby-sample-build.

  • runPolicy — позволяет установить одновременное или последовательное выполнение сборок. По умолчанию данный параметр имеет значение serial — новые сборки будут выполняться последовательно.

  • triggers — укажите список триггеров, которые запускают создание новой сборки.

  • source — определяет источник сборки. Тип источника сборки определяет источник входных данных сборки. Источником входных данных сборки может быть, например, Git (указывает на местоположение хранилища Git) или Binary (локальная файловая система).

  • strategy — определяет стратегию сборки. В приведенном примере используется образ контейнера ruby-20-centos7 для определения Source-2-Image.

  • output — определяет репозиторий, в который будет помещен образ контейнера.

  • postCommit— определяет дополнительные хуки сборки.

См.также

Подробнее о Build Config здесь.