Online video hd

Смотреть 365 видео

Официальный сайт toppromotion 24/7/365

Смотреть видео бесплатно


Ch00k 29.08.10 18:43 # +4
Ну для начала наверно напишите на чем сайты, какой бэкенд и т.п.А вообще таки да, первое что приходит на ум -- юзать кокой-нибудь VCS.
haku 29.08.10 18:51 # +9
То, что Вам нужно, называется rsync.
krig 29.08.10 19:03 # +4
Для файлов - VCS. Читайте про Subversion, Git, Mercurial и их собратьев.
K-9 29.08.10 19:05 # +2
Вариант номер раз: любая VCS
Вариант номер два: rsync
silent 29.08.10 19:30 # +7
у меня на работе реализовано так - есть компьютеры разработчиков, есть тестовый сервер и есть продакшен-сервер.
разработчики работают через git, на тестовый сервер попадает что-то более или менее готовое, это все тестируют и, если все это работает, на тестовом запускается скрипт, который готовит из проекта на тестовом сервере образ (iso), предварительно минифицируя и сжимая js и css-файлы, образ копируется на продакшен, где проект на него переключается (старый образ демонтируется и монтируется новый). таким образом продакшн нельзя менять напрямую и есть возможность переключиться на старые образы. ну а папки, куда надо что-то писать в образе как ссылки на реально существующие папки на продакшене, куда действительно есть возможность писать.

и, в общем-то, я очень рад что я внедрил у нас такую систему выкладки, очень удобно. копирование rsync'ом для больших проектов - не очень хорошо.
cppmm 29.08.10 21:56 # +0
Класс. Я бы использовал не iso, а файл с образом полноценной фс, но идея просто отличная. Спасибо.
silent 29.08.10 23:08 # +0
а чем полноценная фс была бы лучше iso? я всегда рад поэкспериментировать :)
cppmm 30.08.10 01:39 # +0
Права доступа, возможность записи на неё в случае крайней надобности(не нужно будет все директории выносить за пределы образа - полезно, например, для движков на питоне, где после любой правки конфига изменятся все pyc-файлы). Ну и просто нативная фс как-то роднее.
silent 30.08.10 08:40 # +3
ну собственно iso и был выбран чтобы исключить моменты когда файлы редактируются напрямую на продакшене - ни раз это приводило к epic fail. включая конфиги - не за чем их редактировать на продакшене.
digiwhite 30.08.10 00:23 # +1
Действительно интересная идея. Спасибо, что поделились :)
Guf 30.08.10 10:28 # +1
насчет iso еще не слыхал :) интересно :)
m0nhawk 30.08.10 11:29 # +2
А может статейку напишите по-этому поводу (подробней)? Если правда никаких бумажек не подписывали :)
silent 30.08.10 11:43 # +2
а не о чем писать толков, если пошагово то скрипт делает так:

  1. Удаляет содержимое временной папки, из которой будет собран образ
  2. rsync всех файлов кроме тех, что прописаны в исключениях, из папки с проектом с эту временную папку
  3. из .tpl-файлов (шаблоны smarty) удаляются html-комментарии, табы, переносы строки и двойные пробелы
  4. .js-файлы прогоняются через google closure
  5. .css-файлы прогоняются через yui compressor
  6. файлам делается chmod 755 и chown www-data:www-data
  7. сооружаются ссылки на папки извне для тех, куда нужна запись (обычно логи и временные документы)
  8. делается mkisofs папки в образ с постфиксом год_месяц_число
  9. через scp копируется на продакшен сервер
  10. через ssh запускается скрипт на продакшне, который отрубает nginx и php, демонтирует старый образ и монтирует новый, ну и включает сервисы обратно.
xT 29.08.10 19:35 # +0
освой капистрано
Elvis 29.08.10 23:15 # +0
Я для этих целей использую mercurial через ssh.
На боевом сервере поднят репозиторий Mercurial. На своем компьютере я провожу разработку и тестирования. Когда я уверен, что все работает, я выполняю команду hg push www и все файлы на боевом сервере обновляются.
Guf 30.08.10 10:30 # +0
Обновляются именно те которые изменил?
kstep 30.08.10 15:54 # +0
Это же VCS. Да, естественно.
predator 30.08.10 16:40 # +0
а на "боевом" сервере не надо делать hg update?
Elvis 30.08.10 16:53 # +1
Не надо, если пропишешь две строчки
1
2
[hooks]
changegroup = hg update >&2
в файл hgrc в "боевом репозитории" (из Mercurial FAQ 4.19)
silent 30.08.10 19:24 # +0
не очень хорошо держать репозиторий в папке с проектом на продакшене.
Elvis 30.08.10 20:25 # +0
Почему вы так считаете?
silent 30.08.10 21:36 # +0
ну главное - периодически возникает желание что-то поменять на продакшене и оттуда же закоммитить. ну и страшные ситуации когда .svn, .git, .hg папки становились доступными внешнему миру тоже известны и довольно сильно распространены. если уверены что закрыли к ним доступ из веба, не будьте так уверены что то же самое сделает тот, кому вы это советуете.
Elvis 30.08.10 21:47 # +0
Это полезное замечание, про внешние папки. В моем случае я пишу не на php и веб-сервер не имеет доступа к папке с репозиторием и кодом.
Править что-то на продакшне - это неправильно в любом случае, и репозитории тут не при чем. Хотя клинический случай "исправил и закоммитил на продакшне" намного лучше чем "исправил что-то на продакшне и забыл". :)
silent 30.08.10 22:50 # +0
php тут ни при чем, не важно на чем писать, ну и если как-то взломают - не важно будет на каком языке пишешь и какой сервер используешь.
Elvis 31.08.10 08:32 # +0
Возможно вы не знакомы со спецификой веб-разработки, но язык программирования и веб-сервер играет важную роль в том, будут ли видны папка с содержимым репозитория из внешней среды (интернета).
Mercurial и git создают одну папку со служебными данными в корне проекта. Subversion, напротив, мусорит в каждом каталоге. В случае проекта на PHP в одном каталоге свалены и html и php файлы. Apache натравливают на этот каталог, забывая написать правило для исключения .svn или .hg папок, поэтому они становятся доступными из внешней среды по адресу http://example.com/.svn
Но на других языках, таких как ruby и python принцип написания веб-приложения совсем другой. В корне проекта содержится исходный код, в одной из папок содержатся статтичные файлы, такие как шаблоны. Запускается веб-сервер на языке разработки, а Apache, например, служит только для отдачи статики. Проблема с папками репозитория можут возникнуть только если мы используем Subversion (он мусорит в каждой папке, в том числе например и например в папке images, на которую натравлен Apache). В случае c Mercurial и Git папки со служебными данными размещаются в корне проекта (а веб сервер натравлен только на папку со статичными даннми, например public). Поэтому из внешней среды они доступны не будут.
Резюмируя, проблемы с безопасностью в случае репозитория на боевом сервере будут только в том случае, если разработчик не соблюдает элементарные правила безопасности (правит на сервере, настраивает веб-сервер кое-как). Но такой разработчик наверняка наделает кучу других дырок, через которые его смогут поломать. А для грамотного и внимательно разработчика такой угрозы не стоит и в этом случае, отправка кода на сервер с помощью DCVS - всего лишь удобный инструмент.
kstep 31.08.10 09:43 # +0
В случае проекта на PHP в одном каталоге сваклены и html и php файлы.

Боюсь Вы недостаточно осведомлены о современных методах разработки на пхп, так уже давно никто не делает, кроме хардкорных быдлокодеров (спасибо современным фреймворкам, хотя дело скорее не в них, а в правильном мышлении программиста). Например у меня во всех проектах файлы чётко разделены по каталогам в соответствии с их ролью в MVC, и язык тут совершенно ни при чём. Если у программиста каша в голове, то тут мало что поможет. А вообще держать на живом сервере каталог со служебными данными VCS есть моветон, для этого есть svn export, git archive и их друзья на других языках.
Elvis 31.08.10 09:53 # +0
Боюсь Вы недостаточно осведомлены о современных методах разработки на пхп

Да, верно, я не программирую на php. :)
для этого есть svn export, git archive и их друзья на других языках.

В централизованных системах контроля версий типа Subversion держать репо на сервере - зло, согласен. Но в случае распределенных систем выделить одну именнованную репу для сервера можно, ведь реп можно сделать сколько угодно. В любом случае, у меня настроено так и все прекрасно работает.
Мы отвлеклись от темы. Прочтите что спрашивал TS - в данном случае Mercurial может и будет являться решением поставленной проблемы.
silent 31.08.10 11:26 # +0
Вот оно, предвзятое отношение к php. Могу сказать что у меня ни в одном моем проекте ни одного php-файла нет в доступности извне, корневая папка сервера всегда со статичными файлами. Не в этом дело - ситуации бывают разными, даже в хороших продуктах бывают баги, которые открывают доступ к файловой системе.
DEViANCE 29.08.10 23:34 # +0
У меня при коммите в гит авто-экстракт в директорию с проектом на сервере. И так для каждого проекта. Очень удобно. Любые факсы сразу попадают на тестовый сервер. Когда все отлажено, проект копируется на хостинг через ssh.
kstep 30.08.10 16:36 # +2
Просьба сменить заголовок поста на более понятный и конкретный, т.к. «Как реализовать?» ничего не говорит о содержимом поста.

29.08.10 18:20 Guf

Есть вопрос![cистема управления версиями] Как реализовать?

В общем что мне нужно... Есть основной сайт и есть копия для тестирования, хотелось бы сделать такую фишку, что когда я допустим изменил что то на тестовом сайте при нажатии на кнопку, заменялись файлы автоматом на основном сайте которые я изменил.
Почитал эту и вот эту статью, но мне кажется это немножко не то...
Как такое реализовать? Спасибо!


Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 141)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 2796 из 213 городов)
            Топ пользователей Топ блогов
            welinux.ru

            В хорошем качестве hd видео

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн