Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обновление скриптов на сайте, без ошибок у пользователя [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
EuGen Администратор
Отправлено: 31 Октября, 2011 - 16:38:48
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Ну тогда что мешает этот шелл-скрипт запускать самостоятельно, после внесения правок?
Можно даже просто оформить его в виде одного деплой-скрипта, написанного на bash.
Запустили - и готово, произошел релиз.
Если интересует, могу поискать в архивах примеры.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
mixnn
Отправлено: 31 Октября, 2011 - 16:40:20
Post Id


Гость


Покинул форум
Сообщений всего: 89
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




EuGen пишет:
Ну тогда что мешает этот шелл-скрипт запускать самостоятельно, после внесения правок?
Можно даже просто оформить его в виде одного деплой-скрипта, написанного на bash.
Запустили - и готово, произошел релиз.
Если интересует, могу поискать в архивах примеры.

Было бы полезно посмотреть пример
 
 Top
EuGen Администратор
Отправлено: 01 Ноября, 2011 - 10:08:33
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




CODE (bash):
скопировать код в буфер обмена
  1. #!/bin/bash
  2. REMOTE_HOST="your.server.com"
  3. REMOTE_USER="your_user"
  4. REMOTE_METHOD="svn"
  5. REMOTE_PATH="/path/to/project/on/your/remote/server"
  6. #this works for 'scp'
  7. LOCAL_PATH="/path/to/project/on/your/local/machine"
  8. LOCAL_NAME="local_project_directory_name"
  9. #this means 'svn' path/url:
  10. PROJECT_PATH="/path/to/svn"
  11.  
  12. CURRENT_DATE=$(date +%Y%m%d%H%M%s)
  13.  
  14. LINK_NAME="production"
  15.  
  16. if [ $REMOTE_METHOD = "svn" ]; then
  17.         ssh $REMOTE_USER@$REMOTE_HOST 'svn export '$PROJECT_PATH' '$REMOTE_PATH'/'$CURRENT_DATE
  18.         ssh $REMOTE_USER@$REMOTE_HOST 'rm '$REMOTE_PATH'/'$LINK_NAME
  19.         ssh $REMOTE_USER@$REMOTE_HOST 'ln -s '$REMOTE_PATH'/'$CURRENT_DATE' '$REMOTE_PATH'/'$LINK_NAME
  20. fi
  21.  
  22. if [ $REMOTE_METHOD = "scp" ]; then
  23.         rm $LOCAL_PATH.tar $LOCAL_PATH.tar.gz
  24.         tar -cvvf $LOCAL_PATH.tar $LOCAL_PATH
  25.         gzip $LOCAL_PATH.tar
  26.         scp $LOCAL_PATH.tar.gz $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH/
  27.         ssh $REMOTE_USER@$REMOTE_HOST 'rm -Rf '$REMOTE_PATH'/'$LOCAL_NAME
  28.         ssh $REMOTE_USER@$REMOTE_HOST 'tar -xzf '$REMOTE_PATH'/'$LOCAL_NAME.tar.gz
  29.         ssh $REMOTE_USER@$REMOTE_HOST 'rm '$REMOTE_PATH'/'$LINK_NAME
  30.         ssh $REMOTE_USER@$REMOTE_HOST 'ln -s '$REMOTE_PATH'/'$LOCAL_NAME' '$REMOTE_PATH'/'$LINK_NAME
  31. fi

- вот пример; можно вынести параметры - например, задавать их через командную строку.
В моем случае ssh работает по ключу, если этого нет - будет каждый раз спрашиваться пароль. Так что желательно использовать ключ


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Мелкий Супермодератор
Отправлено: 01 Ноября, 2011 - 10:22:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)





EuGen, а чего не в пределах одной сессии ssh?
CODE (bash):
скопировать код в буфер обмена
  1. ssh $REMOTE_USER@$REMOTE_HOST "
  2. svn export '$PROJECT_PATH' '$REMOTE_PATH'/'$CURRENT_DATE'
  3. rm '$REMOTE_PATH'/'$LINK_NAME
  4. ln -s '$REMOTE_PATH'/'$CURRENT_DATE' '$REMOTE_PATH'/'$LINK_NAME'
  5. "

В кавычках наглючил наверняка, только.


-----
PostgreSQL DBA
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Ноября, 2011 - 10:22:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Госспаде боже ш ты мой...
Выполнить это в консоли по ssh дело одной секунды:

ln -s /path/do/symlink /path/do/sitedir
(Добавление)
о, я кажца параметры местами попутал... вродь сперва цель, а потом симлинк..
 
 Top
EuGen Администратор
Отправлено: 01 Ноября, 2011 - 10:49:27
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Мелкий
Потому что в оригинальной версии с выводом команд еще некоторые манипуляции происходят, а если все сделать в пределах одной сессии, то вывод будет на всех один, что неудобно в этом случае.
DeepVarvar
Предложите свой вариант.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Ноября, 2011 - 11:53:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




EuGen пишет:
DeepVarvar
Предложите свой вариант.
Я и предложил свой. Если вы посмотрите на время постов, увидите маленькую разницу.
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB