Выпуски и окружения
Docker, Compose, GitLab CI/CD, сборки, тестовое окружение, секреты, миграции, переключение релизов и откат.
Материалы
- Деплоймент и сопровождение веб-сайта
Готовим воспроизводимый выпуск сайта: артефакт, домен, HTTPS, хостинг, проверка перед публикацией, резервная копия и откат. Продолжаем работой с приложениями, данными и эксплуатацией.
- Деплой веб-сайта: модель выпуска и состав публикации
Различаем исходники, готовый артефакт и действующее окружение на примере статического release-lab.
- Артефакт деплоя: конфигурация и идентификатор версии
Подготавливаем переносимый публичный результат и отделяем паспорт выпуска от настроек окружения.
- GitLab CI: упаковка готового сайта
Создаём воспроизводимую упаковку подготовленного публичного дерева без автоматической публикации.
- Staging для веб-сайта: проверка того же выпуска
Размещаем кандидат в отдельном закрытом окружении и отделяем проверку артефакта от настроек площадки.
- Деплой сайта: версии и переключение текущего выпуска
Подготавливаем неизменяемый каталог кандидата и меняем ссылку current на выделенном Linux-стенде.
- Откат деплоя сайта: возврат рабочей версии
Определяем условия возврата и проверяем прежний выпуск, не смешивая откат с резервным восстановлением.
- Docker Compose: приложение в контейнере
Описываем контейнерный вариант того же WSGI-приложения, его локальный порт, образ и проверку готовности.
- Миграции базы данных: совместимость с откатом деплоя
Расширяем схему PostgreSQL так, чтобы новый и прежний прикладной код могли работать в переходном состоянии.
- Деплой веб-приложения: секреты, пользователи и права
Разграничиваем издателя, процесс приложения и администратора и передаём секреты вне публичных артефактов.
- CI/CD: параллельные и устаревшие выпуски
Разделяем сериализацию публикации и проверку свежести, чтобы позднее завершившийся старый конвейер не заменил новый выпуск.
- Лаборатория GitLab CI/CD
12 уроков: jobs и стадии, артефакты, workflow rules, needs, кэш, переменные, отчёты, runner и ручной staging-пакет.
- GitLab CI/CD: задача pipeline и первый job
Отделяем исходники, выполняемое задание и результат конвейера на примере учебного каталога.
- GitLab CI/CD: стадии и изоляция заданий
Создаём build и verify и передаём файлы между ними через artifacts.
- GitLab CI/CD: команды, скрипты и коды завершения
Выносим механику сборки в файлы и сохраняем ошибку как результат job.
- GitLab CI/CD: события, workflow и правила job
Различаем создание pipeline и включение заданий и предотвращаем дубли для открытого Merge Request.
- GitLab CI/CD: артефакт, версия и хэши файлов
Сохраняем происхождение выпуска и проверяем передачу одного результата без повторной сборки.
- GitLab CI/CD: зависимости jobs с needs
Строим граф задач и явно указываем, какой артефакт получает каждый потребитель.
- GitLab CI/CD: кэш и воспроизводимый результат
Добавляем необязательный кэш сводки и объясняем ключи, политики и отсутствие сохранённых данных.
- GitLab CI/CD: переменные и границы секретов
Различаем конфигурацию, секреты и метаданные, создаваемые после сборки.
- GitLab CI/CD: отчёты проверки и JUnit
Сохраняем диагностический JSON и структурированный отчёт даже при нарушении целостности выпуска.
- GitLab CI/CD: Runner и контейнерная среда
Различаем GitLab, runner и executor и описываем подходящую среду без привилегированной сборки образов.
- GitLab CI/CD: ручная подготовка staging
Разрешаем отдельное действие после проверки и сохраняем тот же выпуск в job-артефакте.
- GitLab CI/CD: общая конфигурация и диагностика
Выносим jobs в локальный include, раскрываем extends и читаем итоговую схему для конкретного события.