DevOps

Что нужно знать о логировании в Docker перед запуском проекта в продакшен

Экспериментировать — с Docker в небольших проектах, конечно, увлекательно, но перенос приложения в продакшен сопряжен с рядом важных задач. Что вам точно понадобится — логирование. Здесь не без подводных камней…

Читать дальше

Ежедневный бэкап Postgres и медиафайлов Django из Docker-контейнеров

Скриптами бэкапов никого не удивить, но даже в этой понятной задаче есть нюансы, которые от проекта к проекту важно не забывать. Делюсь решением для Django-приложения, работающего в среде Docker.

Особенности скрипта:

  • Получает сжатый дамп Postgres и GZIP-архив медиафайлов Django из запущенных контейнеров.
  • Вычищает устаревшие бэкапы по метке проекта.
  • Сохраняет только успешно сформированные бэкапы.
Читать дальше

Контрольный список для DevOps и инженеров, обеспечивающих бесперебойную работу систем

Для евангелистов DevOps — это культура и преобразование. Для некоторых инженеров DevOps — набор гибких инструментов и методов. Для менеджеров DevOps — это, вероятно, методология. Для других людей это просто модное слово, а для рекрутеров это работа. Думаю, что DevOps — не просто модное слово, но каким-то образом это сочетание всех приведенных выше определений: нет цифрового преобразования без правильных методологий, правильных инструментов и правильных инженеров.

Читать дальше

Использование DNS-резольвера Docker в nginx для балансировки нагрузки между контейнерами

Если использовать nginx в качестве проксирующего фронтенда к контейнерам с бэкендом, возникает вопрос, как распределять равномерно запросы к ним. Нельзя просто так определить блок upstream, т. к. контейнеры создаются динамически docker-compose, мы не знаем, сколько и какие будут IP.

Читать дальше

Docker: скрипт, ожидающий формирования manifest.json для flask-webpack

Я использую manifest-revision-webpack-plugin и flask-webpack в проекте с бэкендом на Flask. Для автоматизации развёртывания применяется Docker. Возникла проблема: как применить миграции, если манифест-файл еще не готов?

Читать дальше

Ошибка «No locks available» в Django при работе в среде Vagrant

Если вы используете Vagrant для создания и конфигурирования виртуальной среды разработки и выбрали файловую систему NFS в Vagrantfile в качестве типа разделяемых папок, есть вероятность, что столкнетесь с ошибкой [Errno 37] No locks available при попытке, например, загрузить файл на сервер с использованием инструментов Django. Как решить проблему?

Читать дальше

Миграция GitLab на новый сервер

Если попытаться на новом сервере восстановить бэкап, созданный предыдущей версией GitLab, возникнет ошибка:

GitLab version mismatch:
  Your current GitLab version (11.9.6) differs from the GitLab version in the backup!
  Please switch to the following version and try again:
  version: 11.9.4

Это краткое руководство поможет шаг за шагом перенести GitLab на новый сервер с другой версией GitLab. Наша стратегия — на новом сервере запустить версию GitLab, идентичную версии на старом сервере, и обновиться до последней версии после миграции данных.

Читать дальше