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
Форумы портала PHP.SU :: Версия для печати :: Обновление скриптов на сайте, без ошибок у пользователя [2]
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Обновление скриптов на сайте, без ошибок у пользователя

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

16. EuGen - 31 Октября, 2011 - 16:38:48 - перейти к сообщению
Ну тогда что мешает этот шелл-скрипт запускать самостоятельно, после внесения правок?
Можно даже просто оформить его в виде одного деплой-скрипта, написанного на bash.
Запустили - и готово, произошел релиз.
Если интересует, могу поискать в архивах примеры.
17. mixnn - 31 Октября, 2011 - 16:40:20 - перейти к сообщению
EuGen пишет:
Ну тогда что мешает этот шелл-скрипт запускать самостоятельно, после внесения правок?
Можно даже просто оформить его в виде одного деплой-скрипта, написанного на bash.
Запустили - и готово, произошел релиз.
Если интересует, могу поискать в архивах примеры.

Было бы полезно посмотреть пример
18. EuGen - 01 Ноября, 2011 - 10:08:33 - перейти к сообщению
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 работает по ключу, если этого нет - будет каждый раз спрашиваться пароль. Так что желательно использовать ключ
19. Мелкий - 01 Ноября, 2011 - 10:22:12 - перейти к сообщению

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. "

В кавычках наглючил наверняка, только.
20. DeepVarvar - 01 Ноября, 2011 - 10:22:20 - перейти к сообщению
Госспаде боже ш ты мой...
Выполнить это в консоли по ssh дело одной секунды:

ln -s /path/do/symlink /path/do/sitedir
(Добавление)
о, я кажца параметры местами попутал... вродь сперва цель, а потом симлинк..
21. EuGen - 01 Ноября, 2011 - 10:49:27 - перейти к сообщению
Мелкий
Потому что в оригинальной версии с выводом команд еще некоторые манипуляции происходят, а если все сделать в пределах одной сессии, то вывод будет на всех один, что неудобно в этом случае.
DeepVarvar
Предложите свой вариант.
22. DeepVarvar - 01 Ноября, 2011 - 11:53:43 - перейти к сообщению
EuGen пишет:
DeepVarvar
Предложите свой вариант.
Я и предложил свой. Если вы посмотрите на время постов, увидите маленькую разницу.

 

Powered by ExBB FM 1.0 RC1