Сотни баз данных и тысячи хранимых процедур. Как это всё писать, тестировать и деплоить на множество серверов с возможностью быстрого отката в условиях хайлоад 24х7 и не умереть? Интересно? Добро пожаловать под кат!
Рубрика «deploy» - 3
Версионирование и деплой кода PostgreSQL
2017-11-23 в 10:57, admin, рубрики: deploy, pgbouncer, php, plpgsql, postgresql, Блог компании Avito, высокая производительность[SOA] Service Oriented Ansible
2017-10-26 в 12:52, admin, рубрики: Ansible, deploy, системное администрированиеДоброго дня. Сегодня мы будем говорить об Ansible и сервисах, можно конечно использовать и другие запчасти для SOA типа Docker, Jenkins и Puppet, но сегодня у нас Ansible, сервисы и пару строчек PHP. Многие из вас видели такие картинки (картинки и символы изменены).
![[SOA] Service Oriented Ansible - 1 SOA](https://www.pvsm.ru/images/2017/10/26/SOA-Service-Oriented-Ansible.png)
и читали такие статьи c картинками (первая, вторая), где упоминается SOA.
Развертывание Redmine с помощью Capistrano
2017-06-06 в 5:28, admin, рубрики: capistrano, deploy, devops, Git, redmine, ruby, ruby on rails, Блог компании Southbridge
Это вторая часть моего руководства о том, как самостоятельно администрировать Redmine в долгосрочной перспективе. Первая часть была посвящена управлению собственной версией Redmine с помощью Git (ссылка на перевод).
Имея собственный репозиторий Redmine, пришло время ...
Деплой Elixir-приложений
2017-02-09 в 21:12, admin, рубрики: deploy, distillery, docker, edeliver, Elixir, Elixir/Phoenix, exrm, heroku, Разработка веб-сайтов
Данная статья участвует в конкурсе от Wunsh.ru — русскоязычное сообщество Elixir. Практики и просто сочувствующие — присоединяйтесь!
В статье рассмотрен процесс настройки приложения для релиза на удалённый сервер. Для такого не лёгкого дела в мире Elixir существует два хороших проекта, первый это Distillery, которой делает билд приложения и второй это Edeliver, которой позволяет осуществлять горячую замену кода. Ниже приведены базовые инструкции по использованию этих двух библиотек на примере простейшего Elixir-приложения. А также статья расскажет каким образом можно улучшить деплой благодаря использованию docker контейнеров.
Distillery
Distillery предназначен для автоматизации генерации релизов Elixir проектов! Является наследником Exrm от того же автора. Очень прост в использовании.
Первым делом необходимо добавить distillery в зависимости проекта. А после выполнить mix deps.get.
Вышел GitLab 8.15
2017-01-03 в 7:37, admin, рубрики: deploy, Git, gitlab, open source, release, version control, version control systems, Блог компании Softmart, системы сборки, Системы управления версиямиВ последнем релизе уходящего года мы завершаем наш Мастер-план и хотим показать вам кое-что интересное из того, над чем мы работали.
В GitLab 8.15 появилась фича Auto Deploy – автоматизированная настройка развертывания и приложений для ревью (Review Apps). Для проекта на Ruby on Rails такая настройка займёт меньше минуты. Посмотрите, как это работает, в видео на 1:42.
Вдобавок, доступ к вашим средам (environments) стал быстрее и проще: через терминал непосредственно в GitLab (там же на 5:18)
Мы хотим дать каждому возможность использовать всю мощь контейнеров (containers), непрерывной интеграции и развертывания (continuous integration and deployment, сокращенно CD/CI), приложений для ревью (review apps) и планировщиков контейнеров (container schedulers). В GitLab 8.15 мы взяли на себя всю сложную работу по настройке, и вся она происходит совершенно прозрачно. В демонстрационном видео мы настраиваем и разворачиваем Ruby-приложение с review apps, несколькими средами и чатопсом (chatops, управление инфраструктурой через интеграцию с чатом) на кластер Kubernetes примерно за 12 минут. Без GitLab такая задача обычно занимает дни, если не недели.
Для большинства из нас декабрь — месяц праздников и подарков. GitLab тоже получил в подарок много новых фич.
Деплой веб-приложений с помощью Ansistrano
2016-12-19 в 10:56, admin, рубрики: Ansible, ansistrano, capistrano, deploy, Блог компании centos-admin.ru, Разработка веб-сайтов, метки: ansistrano
ansistrano.deploy и ansistrano.rollback — роли Ansible, предназначенные для управления процессом развертывания приложений, созданных на скриптовых языках программирования (например, PHP, Python и Ruby). По сути это реализация Capistrano в Ansible.
Использование Ansistrano дает следующие преимущества:
- откат за секунды (с ролью ansistrano.rollback);
- настройка процедуры развертывания с использованием методов-обработчиков событий «до» и «после» критически важных шагов;
- оптимизация использования дискового пространства за счет хранения ограниченного количества релизов;
- выбор между SCP, RSYNC, GIT, SVN, HTTP Download или S3 GET-стратегиями развертывания (в дополнение возможно использование unarchive).
Как мы уже 4 года выживаем в условиях двух релизов в день
2016-12-16 в 7:13, admin, рубрики: code review, continuous delivery, continuous integration, deploy, php, qa, quality assurance, release management, testing, Блог компании Badoo, контроль качества, Программирование, релиз-инжиниринг, релиз-менеджмент, тестирование, Тестирование IT-систем, Тестирование веб-сервисов
Здравствуй! Сегодня я хочу завершить цикл статей об организации тестирования (начавшийся с изучения ошибок и опыта), рассказав о том, как же все-таки Badoo выпускает два качественных серверных релиза каждый день. Кроме пятницы, когда мы релизимся только утром. Не надо релизиться в пятницу вечером.
Я пришел в Badoo чуть более четырех лет назад. Все это время наши процессы и инструменты для тестирования непрестанно развивались и совершенствовались. Для чего? Число разработчиков и тестировщиков увеличилось примерно в два раза — значит, для каждого релиза готовится больше задач. Количество активных и зарегистрированных пользователей тоже удвоилось — а значит, и цена любой нашей ошибки стала выше. Для того чтобы доставлять пользователям максимально качественный продукт, нам нужны всё более и более мощные средства контроля качества, и эта гонка не заканчивается никогда. Цель этой статьи не только продемонстрировать работающий пример, но и показать, что какими бы крутыми ни были ваши процессы контроля качества, наверняка можно сделать их еще лучше. Технические реализации некоторых инструментов вы сможете найти по ссылкам на другие статьи, о некоторых из них нам еще предстоит написать.
В Badoo существует несколько разных QA-флоу, отличие которых обосновано разными средствами разработки и целевыми платформами (но мы используем для них общие системы: JIRA, TeamCity, Git и т.д.), и я вам расскажу о процессе тестирования и деплоя наших серверных задач (а заодно и веб-сайта). Его можно условно разделить на 5 больших этапов (хотя тут, конечно, многие мои коллеги считают по-разному), каждый из которых включает в себя и ручную, и автоматизированную составляющую. Постараюсь рассказать вам по очереди о каждом из них, отдельно выделяя то, что изменялось и развивалось в последние годы.
Читать полностью »
GitLab CI: Развертывание и среды развертывания
2016-09-20 в 11:22, admin, рубрики: ci, continuous integration, deploy, deployment, deployment tools, Git, gitlab, gitlab ci, open source, Блог компании Softmart, системы сборки, Системы управления версиямиВ данной статье речь пойдет об истории успеха воображаемого новостного портала, счастливым владельцем которого являетесь вы. К счастью, вы уже храните код проекта на GitLab.com и знаете, что для тестирования можно использовать GitLab CI.
Теперь вам интересно, можно ли пойти дальше и использовать CI еще и для развертывания проекта, и если да, то какие возможности при этом открываются.
Чтобы не привязываться к какой-либо конкретной технологии, предположим, что ваше приложение является простым набором HTML-файлов, никакого выполнения кода на сервере, никакой компиляции JS assets. Деплоить будем на Amazon S3.
У автора нет цели дать рецепты для конкретной технологии в этой статье. Наоборот, примеры кода максимально примитивны, чтобы слишком на них не зацикливаться. Смысл в том чтобы вы посмотрели на фичи и принципы работы GitLab CI в действии, а потом применили их для вашей технологии.

Сине-зеленый деплой
2016-09-13 в 7:20, admin, рубрики: deploy, devops, production, staging, деплой, ит-инфраструктура, продакшен, системное администрирование, стейджингЯ и мои коллеги всегда склоняем своих клиентов полностью автоматизировать процесс деплоя. Автоматизация помогает сократить количество конфликтов и задержек, которые возникают в процессе между "завершением" работы над программой и введением в эксплуатацию. Дэйв Фарли (Dave Farley) и Джез Хамбл (Jez Humble) заканчивают книгу "Непрерывная доставка" (Continuous Delivery) на эту тему. Она основывается на множестве идей, которые в целом связаны с непрерывной интеграцией и подталкивают к возможности быстро пустить софт в работу. Глава о сине-зеленом деплое привлекла мое внимание, потому что это один из малоиспользуемых методов, и я решил кратко его осветить.
Читать полностью »
Автоматизация развертывания Docker-контейнеров на произвольной инфраструктуре
2016-06-27 в 13:44, admin, рубрики: deploy, devops, docker, fabric, python, redmadrobot, Блог компании REDMADROBOT, ит-инфраструктура, Серверное администрированиеКонтейнеризация приложений сегодня является не просто модным трендом. Объективно такой подход позволяет во многом оптимизировать процесс серверной разработки путем унификации поддерживаемых инфраструктур (dev, test, staging, production). Что в итоге приводит к значительному сокращению издержек на протяжении всего цикла жизни серверного приложения.
Хотя большая часть из перечисляемых достоинств Docker является правдой, тех, кто на практике столкнется с контейнерами, может постигнуть легкое разочарование. И так как Docker не является панацеей, а всего лишь входит в список из «лекарственных средств» от рецепта автоматического деплоя, разработчикам приходится осваивать дополнительные технологии, писать дополнительный код и т.д.
Читать полностью »


