L
Lonely Wolf
Прохожие
- Автор темы
- #1

Сложный заманивающий заголовок привёл вас сюда не зря

Я решил облегчить себе жизнь и написать скрипт, который бы помогал в автоматическом режиме нужным клиентам делать автообновления без моего, а тем более их вмешательства в процесс!
Расскажу теперь подробнее....
И так, есть у нас 100 клиентов, у которых например установлен наш скрипт. Это может быть комерческий продукт или бесплатный не важно.
После обновления его, каждый раз ломяться куча клиентов и просят помочь им обновить и т.п. это ужасно и напрягает, т.к. любой прямой контакт программиста с клиентами это уже первый шаг на то, что бы тебе сели на шею в дальнейшем.
Поэтому я давно хотел написать этот чудный скрипт, который бы позволил не привязываться к конкретному проекту, а использовать в любых боевых условиях с простейшей интеграцией. Производить автоматические обновления без вмешательства клиента.
И вот он перед вами.
Основная идея заложена как SVN(ну или CVS можно даже сказать) система, только максимально упрощена и под мои нужды сделана не более того.
Основные функции:
- Создания репозитория (все файлы в указаном проекте получают по файлу информации с версией файла начиная с 1 и датой последней модификации)
- Автоматическое обновления репозитория, счётчики версий файлов при обнаружении даты изменения файла.
- Сравнения списков файлов репозитория и пользовательских скриптов.
- Автоматическое добавление/изменение/удаление файлов при изменениях в репозитории.
- Возможность поддержки нескольких проектов в 1 репозитории.
Назвал я сей маленькое чудо MySVN.
Исходный код в аттаче, код как всегда подробно документирован.
Скрины:
Для просмотра ссылки Войди
Для просмотра ссылки Войди
Для просмотра ссылки Войди
Из readme.txt:
# Создания репозитория
1. Выделяем на сервере поддомен (рекомендуется)
2. Открываем файл repository/index.php в нём прописываем пароль доступа к обновлению репозитория в переменную
# Пароль на репозиторий
$mypassword = 'password';
3. Закачиваем по ftp на него файл repository/index.php
4. Создаём папки с названиями проектов репозитория
5. Закачиваем в папки проектов, сами файлы этих проектов
6. Выставляем на все файлы и папки репозитория права CHMOD 0777
7. Запускаем наш скрипт создания/обновления репозитория следующими параметрами:
/repository/?update=password&project=test
Можно поставить обновления по крону, либо запускать руками после изменений в файлах.
# Установка клиента автообновления
1. Настраиваем файл cron.php под наш репозиторий и локальный пусть проекта.
2. Закачиваем на ftp файл cron.php
3. Создаём файл logs.html ставим на него права CHMOD 0777.
4. Ставим задание в крон, пример из панели DirectAdmin:
00 05 * * * cd /home/user/domains/domain.ru/public_html; /usr/bin/php -f cron.php >> logs.html
У вас оно может быть другое.
(c) Lonely Wolf 22.04.2009
###########################################################################################################
ChangeLog
########## 1.0 -> 1.1 [22.04.2009] ##########
[+] Добавлен контроль прав файлов (доступ на запись, доступ на чтение)
[+] Добавлен графический интерфейс
[+] Добавлен пароль на управление репозиторием
[+] Добавлен данный файл readme.txt с подробными инструкциями по установке и changelog'ом
[~] Исправлена ошибка с рекрусивным созданием папок