[MySVN] Автоматизация процесса обновления проектов через репозиторий.

  • Автор темы Lonely Wolf
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
L

Lonely Wolf

Прохожие
1240384777653849eec5099918a.png

Сложный заманивающий заголовок привёл вас сюда не зря :)
Я решил облегчить себе жизнь и написать скрипт, который бы помогал в автоматическом режиме нужным клиентам делать автообновления без моего, а тем более их вмешательства в процесс!

Расскажу теперь подробнее....
И так, есть у нас 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'ом
[~] Исправлена ошибка с рекрусивным созданием папок
 

Вложения

  • mysvn.zip
    303,6 KB · Просмотры: 30
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху