Конфигурация пайплайна
Файл deploylane.yaml лежит в корне репозитория и версионируется
вместе с кодом. Проверить его без запуска сборки — deploylane config validate.
Минимальная конфигурация
version: 1
project: acme-storefront
build:
image: node:22
command: npm run build
output: dist/
Полная схема
| Ключ | Тип | Назначение |
|---|---|---|
version | int | Версия схемы, сейчас всегда 1 |
project | string | Slug проекта |
build.image | string | Образ агента сборки |
build.install | string | Команда установки зависимостей, кэшируется отдельно |
build.command | string | Основная команда сборки |
build.output | string | Каталог, который станет артефактом |
build.cache | list | Дополнительные пути для кэширования между сборками |
build.matrix | map | Параллельные варианты сборки |
environments | map | Окружения и условия их обновления |
notifications | map | Адреса доставки событий |
Параллельные шаги и матрица
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-файла в пределах рабочего пространства. Изменение диапазона версий в манифесте не сбрасывает кэш, если разрешённый набор зависимостей не поменялся.