Ci-Cd

Release engineering и DORA: версии, релизы и измерение доставки

Release engineering и DORA: версии, релизы и измерение доставки

Когда пайплайн собран, встаёт вопрос дисциплины релизов и того, как понять, что доставка вообще здоровая: semver и что версия обещает (и где он неуместен), автоматизация релизов и changelog из коммитов, релизы в монорепо, и актуальные пять метрик DORA — deployment frequency, change lead time, failed deployment recovery time, change fail rate, deployment rework rate — почему MTTR из прежних «четырёх ключей» переопределена, как читать метрики, не превращая в KPI-театр, и как они связаны с SLO и постмортемами

Zero-downtime деплой и миграции БД: expand-contract на практике

Zero-downtime деплой и миграции БД: expand-contract на практике

Деплой без простоя ломается не на коде, а на схеме: переименовал колонку — и старые поды падают. Expand-contract (сначала расширить схему, выкатить код, потом сузить), почему миграция и код едут в разном порядке, backward/forward-совместимость между версиями во время rollout, блокирующие DDL и как их избегать, безопасный rollback и роль feature flags. Как менять схему под работающим трафиком

Версионирование workflow: patching, worker versioning, безопасные изменения

Версионирование workflow: patching, worker versioning, безопасные изменения

Самая недооценённая дисциплина Temporal: нельзя просто поменять код workflow, у которого есть запущенные экземпляры — при replay новой логики на старой истории рантайм упрётся в non-determinism error. Разбираем, почему так, где именно проходит граница ломающего изменения (она не там, где кажется), как чинит patching/GetVersion и почему преждевременное снятие патча ломает всё заново. Плюс worker versioning с build IDs и то, как встроить версионирование в деплой до первого инцидента, а не после

Секреты в Kubernetes: Sealed Secrets и External Secrets

Секреты в Kubernetes: Sealed Secrets и External Secrets

Обычный Secret в Kubernetes — это base64, а не шифрование, и класть его в git нельзя. Разбираем два рабочих подхода для GitOps: Sealed Secrets (шифрование прямо в репозитории) и External Secrets Operator (подтягивание из Vault и облачных хранилищ), плюс ротацию и RBAC.

CI-пайплайн вглубь: GitHub Actions без боли и лишних минут

CI-пайплайн вглубь: GitHub Actions без боли и лишних минут

Раннер есть — а конвейера нет: как спроектировать CI-пайплайн, а не свалить всё в один job. Структура workflow (jobs, зависимости, стадии), кэширование зависимостей и слоёв, matrix-сборки, reusable workflows и composite actions, секреты через OIDC вместо долгоживущих токенов, артефакты между job’ами, required checks как гейты и борьба за скорость (что параллелить, что кэшировать, где резать)

Установщик на Go для Windows-клиента: как VOG ушёл от MSI и redist

Установщик на Go для Windows-клиента: как VOG ушёл от MSI и redist

Старый MSI-установщик VOG перестал ставиться на свежие Windows из-за распространяемого пакета Visual C++. Как вместо него появился загрузчик на Go — один статический файл без cgo и без единой сторонней зависимости, с окном на голом WinAPI, модульной установкой, откатом версий, двумя слоями подписей Ed25519 и честными отношениями с антивирусами