Основной сайт

Конфигурация пайплайна

Файл deploylane.yaml лежит в корне репозитория и версионируется вместе с кодом. Проверить его без запуска сборки — deploylane config validate.

Минимальная конфигурация

version: 1
project: acme-storefront
build:
  image: node:22
  command: npm run build
  output: dist/

Полная схема

КлючТипНазначение
versionintВерсия схемы, сейчас всегда 1
projectstringSlug проекта
build.imagestringОбраз агента сборки
build.installstringКоманда установки зависимостей, кэшируется отдельно
build.commandstringОсновная команда сборки
build.outputstringКаталог, который станет артефактом
build.cachelistДополнительные пути для кэширования между сборками
build.matrixmapПараллельные варианты сборки
environmentsmapОкружения и условия их обновления
notificationsmapАдреса доставки событий

Параллельные шаги и матрица

build:
  image: golang:1.24
  matrix:
    goos: [linux, darwin]
    goarch: [amd64, arm64]
  command: GOOS=$MATRIX_GOOS GOARCH=$MATRIX_GOARCH go build ./...
  output: bin/

Каждая комбинация тарифицируется как отдельные минуты сборки.

Условные ветки

environments:
  staging:
    on: pull_request
  production:
    on:
      branch: main
      paths:
        - "src/**"
        - "package-lock.json"
    require_approval: true

С require_approval выкат ждёт подтверждения участника с ролью не ниже maintainer. Ожидание не расходует минуты сборки.

Переменные окружения

env:
  NODE_ENV: production
  API_BASE:
    from_secret: api_base_url
  BUILD_STAMP:
    build_only: true

Переменная с build_only: true доступна агенту сборки и вырезается до запечатывания артефакта — в выкаченной версии её гарантированно нет.

Кэш

Кэш установки зависимостей ключуется по хешу разрешённого lock-файла в пределах рабочего пространства. Изменение диапазона версий в манифесте не сбрасывает кэш, если разрешённый набор зависимостей не поменялся.