Zend Framework & Linux: шелл-скрипт для автоматического обновления

Задача: автоматизировать процесс обновления Zend Framework для всех приложений на сервере.

Решение:

  1. Создаем папку типа /var/www/libraries/ZF-last-stable/, которую и будем указывать для всех приложений в /public/index.php
  2. Создаем файл update_ZF_1.x.sh с таким содержимым:
    #!/bin/bash
    echo "Downloading new stable ZF";
    zendname="ZendFramework-1.11.1";
    wget "http://framework.zend.com/releases/$zendname/$zendname-minimal.tar.gz";
    echo "Unpacking"
    tar -xvzf "$zendname-minimal.tar.gz";
    echo "Deleting original directroy!";
    rm -r ZF-last-stable;
    mv "$zendname-minimal" "ZF-last-stable";
    exit
    
  3. Вызываем скрипт sh /var/www/libraries/update_ZF_1.x.sh

Что мы натворили: в переменной zendname мы указываем нужную версию. Архив с этой версией скачивается, распаковывается, удаляется папка zf-last-stable,  папку с разархивированным ZF переименовываем в zf-last-stable.

Получилось, правда, полуавтоматическое обновление, новую версию всё-равно придется указывать вручную. Из вариантов совсем автоматических можно использовать svn export «uri SVN репозитария с последней стабильной версией», но тогда будет неверно работать Zend_Version.