• XSS.stack #1 – первый литературный журнал от юзеров форума

MySVN - Автоматизация процесса обновления проектов

Одинокий Волк

CPU register
Забанен
Регистрация
16.05.2005
Сообщения
1 264
Решения
1
Реакции
3
Пожалуйста, обратите внимание, что пользователь заблокирован
tyrus-svn2.png

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

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

Поэтому я давно хотел написать этот чудный скрипт, который бы позволил не привязываться к конкретному проекту, а использовать в любых боевых условиях с простейшей интеграцией. Производить автоматические обновления без вмешательства клиента.
И вот он перед вами.
Основная идея заложена как SVN(ну или CVS можно даже сказать) система, только максимально упрощена и под мои нужды сделана не более того.

Основные функции:
- Создания репозитория (все файлы в указаном проекте получают по файлу информации с версией файла начиная с 1 и датой последней модификации)
- Автоматическое обновления репозитория, счётчики версий файлов при обнаружении даты изменения файла.
- Сравнения списков файлов репозитория и пользовательских скриптов.
- Автоматическое добавление/изменение/удаление файлов при изменениях в репозитории.
- Возможность поддержки нескольких проектов в 1 репозитории.

Назвал я сей маленькое чудо MySVN.
Исходный код в аттаче, код как всегда подробно документирован.

http://www.sendspace.com/file/t8650l
http://rapidshare.com/files/222436610/mysvn.rar.html
MD5: 829DD82EB0F38EE38214E20DA0741640
 

Вложения

  • mysvn.rar
    41 КБ · Просмотры: 231
Пожалуйста, обратите внимание, что пользователь заблокирован
1240384777653849eec5099918a.png
Из 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
У вас оно может быть другое.

© Lonely Wolf 22.04.2009

###########################################################################################################

ChangeLog

########## 1.0 -> 1.1 [22.04.2009] ##########
[ + ] Добавлен контроль прав файлов (доступ на запись, доступ на чтение)
[ + ] Добавлен графический интерфейс
[ + ] Добавлен пароль на управление репозиторием
[ + ] Добавлен данный файл readme.txt с подробными инструкциями по установке и changelog'ом
[~] Исправлена ошибка с рекрусивным созданием папок






 

Вложения

  • mysvn.zip
    303.6 КБ · Просмотры: 267
Пожалуйста, обратите внимание, что пользователь заблокирован
Subversion[1] — свободная централизованная система управления версиями, созданная в 2000 г. компанией CollabNet Inc.
http://ru.wikipedia.org/wiki/SVN

Потому что смысл в авто обновлениях новых версий.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх