Рубрика «deployment» - 2

Деплой Ruby on Rails приложения при помощи Docker и Mina - 1

Введение

Данное руководство в первую очередь предназначено для новичков, которые хотят научиться азам деплоя и ознакомиться в общих чертах с алгоритмом работы над удаленной unix системой локально. Итак, что же такое Mina? Это инструмент для деплоя и автоматизации выполнения операций на удаленном сервере.

Преимущество этого решения, в первую очередь, заключается в быстроте выполнения. Mina работает очень быстро, поскольку деплоит bash скрипт, который генерируется на удаленном сервере из вашего deploy.rb файла и в последствии выполняется.

Capistrano, к примеру, выполняет каждую команду отдельно, в своей ssh сессии, и поэтому уступает по скорости в разы, mina выполняет все в одном bash скрипте, который требует только одну сессию.
Читать полностью »

Песнь о могучем Деплое

Пролог

Пришло время, когда нам — команде Эльбы — захотелось поделиться с миром подробностями некоторых магических и загадочных деталей нашего продукта. Решили начать с одного из самых сложных проектов, который является предметом особой гордости и лёгкого поклонения. Он покрыт налётом тайны и окутан ореолом тёмной магии. Легенды о нём передаются из уст в уста. Лишь малая часть знаний задокументирована в вики или ютреке, большая же — сокрыта в исходниках системы контроля версий. Премудрых старцев, умеющих расшифровать этот тайный код, в проекте всё меньше и меньше. Пришла пора записать все магические заклинания в подробном манускрипте. Речь пойдёт о системе развёртывания Эльбы — о могучем Деплое.
Читать полностью »

В данной статье речь пойдет об истории успеха воображаемого новостного портала, счастливым владельцем которого являетесь вы. К счастью, вы уже храните код проекта на GitLab.com и знаете, что для тестирования можно использовать GitLab CI.
Теперь вам интересно, можно ли пойти дальше и использовать CI еще и для развертывания проекта, и если да, то какие возможности при этом открываются.

Чтобы не привязываться к какой-либо конкретной технологии, предположим, что ваше приложение является простым набором HTML-файлов, никакого выполнения кода на сервере, никакой компиляции JS assets. Деплоить будем на Amazon S3.

У автора нет цели дать рецепты для конкретной технологии в этой статье. Наоборот, примеры кода максимально примитивны, чтобы слишком на них не зацикливаться. Смысл в том чтобы вы посмотрели на фичи и принципы работы GitLab CI в действии, а потом применили их для вашей технологии.

GitLab CI: Развертывание и среды развертывания - 1

Читать полностью »

Elixir: Развёртывание приложений с помощью Edeliver - 1

Мы уже обсуждали сборку и развёртывание приложений Elixir(перев: с помощью exrm): как осуществлять миграции поверх релиза или как работать с переменными среды. Пришло время открыть для себя ещё один инструмент, который поможет развёртывать Elixir приложения.

Практика развёртывания Elixir приложений и дальнейшее отслеживание их работы на нодах с помощью Exrm позволяет нам чувствовать себя гораздо увереннее в вопросах управления релизами в production. Однако возникает следующий вопрос: как управлять самим процессом развёртывания? Конечно, мы можем воспользоваться Capistrano, особенно если в мир Elixir мы пришли из Rails. Но посмотрим на цитату из Edeliver README:

edeliver основан на доставке и предоставляет bash-скрипт для сборки и развёртывания Elixir и Erlang приложений, а так же позволяет совершать "горячее" обновление кода.

Пытаться организовать весь процесс развёртывания вручную — это жёсткая головная боль с кучей повторяющегося кода. А вот использование Edeliver для развёртывания оказалось очень простым с первой же попытки! В конце концов, весь процесс развёртывания уместился в один меленький bash-скрипт:

#!/bin/bash -ex

BRANCH=${1:-master};

mix edeliver build release --branch=BRANCH --verbose
mix edeliver deploy release to production --verbose
mix edeliver start production --verbose
mix edeliver migrate production up --verbose

Скорее всего Вам придётся подкрутить этот скрипт под собственные нужды. Мы используем его только для развёртывания в production, но Вы так же можете использовать его и для staging развёртываний. Описание того, как всё это работает — под катом.

Читать полностью »

Несомненно, тема, думаю, многими заезжена до дыр — всё-таки, деплой надо делать для каждого проекта — но я всё же подниму её и расскажу об одном замечательном инструменте, о котором, по какой-то странной причине, до сих пор ничего не написали на Хабре, да и вообще в русскоязычном сегменте как-то о нём мало что написано. Исправим это недоразумение.

Deployer хорош во многих отношениях. Код скрипта для деплоя получается коротким. Написан на старом добром Пыхчанском, запакован в самоисполняемый бинарник — то бишь, ставить отдельно какие-то другие инструменты на сервер вам не придётся. Почему-бы и не заюзать его в своих проектах?Читать полностью »

Привет, читатели!
Мы – небольшая команда разработчиков из четырёх человек, и хотим представить на ваш суд свою PaaS, аналог Heroku.

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

Попробовав Heroku в качестве решения, мы поняли, что такое качество и удобство. Единственное, что кусалось – цены. Поэтому около 4-х месяцев назад мы поставили цель сделать свою собственную платформу. И мы ее сделали. Знакомьтесь: Dokkur – первый полноценный PaaS из России!

image

Читать полностью »

Осенью прошлого года, когда вышла Magento 2.0, я написал статью "Пример модуля для Magento 2", в которой обрисовал один из возможных вариантов формирования окружения для разработки модуля под вторую версию Magento. Совсем недавно вышли обновления (v 2.0.1 и v 2.0.2), судя по которым разработчики Magento уходят от схемы развертывания с использованием Magento Composer Installer (при помощи которого разворачивается Magento 1 и разворачивалась в моем предыдущем примере Magento 2.0.0), По крайней мере, простое изменение версии Magento c 2.0.0 на 2.0.1 приводило к тому, что то, что разворачивалось, работать как Magento-приложение совершенно не хотело.

Под катом — новый пример развертывания окружения, адаптированный под изменившиеся условия.
Читать полностью »

Друзья, доброго времени суток.

Честно говоря, уже устал поддерживать версии приложений на серверах и делать изменения в БД врукопашную. Использую свои скрипты установки — те же программы, за которыми тоже надо следить самому и править в разных обстоятельствах, типа добавления нового сервера или подготовки новой виртуалки тестировщикам. Захотелось посмотреть, какие есть цивилизованные решения для таких задач. Хочу поделиться первым опытом работы в среде автоматизации процесса развертывания софта – Serena Deployment Automation (SDA) — продукт бесплатен при условии использования на не более 5 серверах.

Не кочегары мы не плотники… А мы программеры-работники, да. И устанавливаем приложения на серверы нескольких сред - 1
Читать полностью »

Домашние животные vs крупный рогатый скот - 1В ряде статей на Хабре упоминалось разделение серверов на «pets» и «cattle». Эта терминология пошла с одной небезинтересной статьи за авторством Noah Slater — open source активиста и соавтора CouchDB. Я не смог скрафтить хороший перевод английского «cattle», «животные, выращиваемые в промышленном животноводстве», поэтому под катом вас ждет перевод с Крупным Рогатым Скотом. Очень крупным.

Читать полностью »

Docker: Окружение для тестирования - 1

Последние пять лет принесли в нашу жизнь огромное количество технологий, с помощью которых можно быстро создавать изолированные окружения для разработки и тестирования. Но не смотря на это, организовать стабильное окружение для тестирования — далеко не самая простая задача. А если нужно тестировать сетевые взаимодействия компонентов и анализировать предельный уровень нагрузки на них, то задача становится еще сложнее. Добавив возможность быстрого развертывания окружения и гибкой настройки отдельных компонентов, мы сможем получить небольшой интересный проект.
В этой статье мы подробно расскажем о создании окружения на базе Docker контейнеров для тестирования нашего клиент-серверного приложения. При этом, если смотреть глобально, то данная статья будет хорошей иллюстрацией использования Docker и его ближайшей экосистемы.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js