PHP Profi

Magallanes! упрощая деплой вашего PHP приложения

php deploy Magallanes

Magallanes - это инструмент для выкладки (deploy) PHP приложений, написанный на PHP. Также известен как MagePHP. Очень прост в использовании и управлении и при этом очень мощный в плане возможностей, которые вы должны попробовать, не смотря на то, что уже существует много средств таких, как Phing, Capistrano, Chef или Deployer…

Mage - это утилита командной строки, которая требует PHP как минимум версии 5.3. Вы можете настроить Magallanes для деплоя вашего кода на все ваши сервера с помощью rsync через ssh и запускать задания для того свежевыложенного кода.

Установить эту утилиту деплоймента можно или скачав их собственный установщик или просто добавив зависимость в ваш composer.json:

{
    "require-dev": {
        "andres-montanez/magallanes": "~1.0.1"
    }
}

и после запустив:

php composer update andres-montanez/magallanes

Чтобы начать использовать Magallanes сперва вам нужно создать и настроить проект. Для этого, например, вы можете использовать команду:

mage init --name="My sample app" --email="notifications@my.app"

Теперь создайте ваше деплоймент-окружение командой:

mage add environment --name="production" --enableReleases

Это команда создаст файл .mage/config/environments/production.yml, который вы должны отредактировать чтобы настроить окружение.

После этого вы можете просто выложить приложение на `production` так:

mage deploy to:production

Также вы можете проделать то же самое для `production`, `development`, `test` или других серверов. При этом вы вольны выбирать стратегию, по которой должно выкладываться ваше приложение, указав параметр “strategy”. На данный момент поддерживаются: rsync, targz, git-rebase и disabled.

Magallanes deployment tool позволяет вам работать с релизами, которые настраиваются четырьмя параметрами: enabled, max (максимальное число сохраняемых релизов), symlink и directory. Когда настроили, вы можете очень просто узнать список доступных для деплой-окружения релизов ( mage releases list to:production), выкладывать (mage deploy to:production), перевыкладывать (--overrideRelease) и даже откатывать (mage releases rollback --release=-1 to:production).

Вы можете указать утилите Magallanes, чтобы она запускала задания. Например, перед тем, как деплой начнётся - для выполнения установки сторонних(vendor) библиотек, а после того как завершится - для очистки кеша. Всего доступны 4 события: pre-deploy, on-deploy, post-release и post-deploy.

Magallanes deployment tool оснащён встроенными задачами для упрощения процесса выкладки, включающие:

  1. SCM (Software change manager), который пока поддерживает только Git;
    - scm/update
    - scm/force-update
  2. Symfony 2 задачи:
    - symfony2/assetic-dump
    - symfony2/assets-install
    - symfony2/cache-clear
    - symfony2/cache-warmup
  3. Magento задачи:
    - magento/clear-cache
    - magento/clear-full-page-cache
  4. Composer:
    - composer/generate-autoload
    - composer/install

 

Но при этом вы можете создавать ваши собственные задачи и команды по своему вкусу и для своих нужд.

Подробнее о том как пользоваться деплой-утилитой и создавать свои задачи вы можете ознакомится на официальном сайте проекта: http://magephp.com/
Ребята сделали небольшую шпаргалку для нас: белая, цветная.

2015-01-29 alek13
General Food

Комментарии

авторизуйтесь, чтобы оставить комментарий