Developer-Environment
From GZProject Wiki
Contents |
Рабочая копия
Структура каталогов
Рекомендованая структура каталогов и скриптов для локальной машины.
Основной проект:
My Documents\gzproject.ru
.\trunk - https://gzproject.svn.sourceforge.net/svnroot/gzproject/trunk/
.\projects - проекты с открытым исходным кодом, с информацией о клиенте и протоколе.
.\mysql - backup для базы данных
.\macros - Файлы GZone приложения
.\links - Быстрые ссылки на файлы проектов и интернета.
.\gzproject - svn репозитарий полная копия sf.net репозитария.
.\htdocs - svn репозиторий, копия trunk/site/www, с конфигурациоными файлами sourceforge.net
.\sitemap_gen-1.4 - http://sourceforge.net/projects/goog-sitemapgen
Backup
Создание резервных копий на локальной машине. SF.net публичный, ненадежный хостинг , о чем они говорят в документации ;)
MysqlDB Backup
Сохранение базы данных на диск. В скрипте необходимо указать корректный пароль. Так же не получилось использовать сжатие, видимо проблема в .bat файлах. Строка возвращет битый архив:
ssh -C axet@shell.sf.net "mysqldump g148659_mediawiki | gzip" > mediawiki.sql.gz
Рабочий пример:
ssh -C axet@shell.sf.net "mysqldump --user=g148659admin --password=PASSWORD --host=mysql4-g g148659_mediawiki" > mediawiki.sql.gz ssh -C axet@shell.sf.net "mysqldump --user=g148659admin --password=PASSWORD --host=mysql4-g g148659_blog" > blog.sql.gz ssh -C axet@shell.sf.net "mysqldump --user=g148659admin --password=PASSWORD --host=mysql4-g g148659_punbb" > punbb.sql.gz
SVN repo Backup
Сохранение репозитория на локальный жесткий диск.
set RSYNC_PROXY=rsync-svn.sourceforge.net:80 rsync -avrz --delete rsync-svn-g::svn/gzproject/* gzproject/
Script
Система скриптов проекта. Написаны с использованием python.
toutf8.py
Перевод проекта на универсальную кодировку. Для работы используется скрипт проверяющий соответствие файла на кодировку UTF-8, если таковая не найдена производится преобразование файла в указанную кодировку из CP1251. Работая под MSDEV8, затруднительно гарантировать, что все файлы в проекте, которые будут созданы, находятся в универсальной кодировке. Из за такой оплошности необходимо использовать дополнительную программу. toutf8.bat
trunk\misc\toutf8.py trunk\library trunk\GZ
htdocs folder
Публикование сайта и сгенерированных doxygen документов.
rsync -avz --delete trunk/site/www/doxygen/html/* htdocs/doxygen/html/ rsync -avz --delete -C --delete-excluded --rsh=ssh htdocs/* axet@shell.sf.net:/home/groups/g/gz/gzproject/htdocs/
siteupdate.py
if __name__ == '__main__':
import sys
import xml.sax
sys.path.insert(0,"trunk/site")
sys.path.insert(0,"sitemap_gen-1.4")
import sitefixed
import sitemap_gen
rel=open('trunk/site/relativefiles.txt');
cfg=sitefixed.make("htdocs",rel.readlines(),"http://gzproject.ru","htdocs/sitemap.xml.gz")
sitemap = sitemap_gen.Sitemap(None)
xml.sax.parseString(cfg, sitemap)
sitemap.Generate()
print ('Number of errors: %d' % sitemap_gen.output.num_errors)
print ('Number of warnings: %d' % sitemap_gen.output.num_warns)


