Ну тогда что мешает этот шелл-скрипт запускать самостоятельно, после внесения правок?
Можно даже просто оформить его в виде одного деплой-скрипта, написанного на bash.
Запустили - и готово, произошел релиз.
Если интересует, могу поискать в архивах примеры.
16. EuGen - 31 Октября, 2011 - 16:38:48 - перейти к сообщению
17. mixnn - 31 Октября, 2011 - 16:40:20 - перейти к сообщению
EuGen пишет:
Ну тогда что мешает этот шелл-скрипт запускать самостоятельно, после внесения правок?
Можно даже просто оформить его в виде одного деплой-скрипта, написанного на bash.
Запустили - и готово, произошел релиз.
Если интересует, могу поискать в архивах примеры.
Можно даже просто оформить его в виде одного деплой-скрипта, написанного на bash.
Запустили - и готово, произошел релиз.
Если интересует, могу поискать в архивах примеры.
Было бы полезно посмотреть пример
18. EuGen - 01 Ноября, 2011 - 10:08:33 - перейти к сообщению
CODE (bash):
скопировать код в буфер обмена
скопировать код в буфер обмена
- #!/bin/bash
- REMOTE_HOST="your.server.com"
- REMOTE_USER="your_user"
- REMOTE_METHOD="svn"
- REMOTE_PATH="/path/to/project/on/your/remote/server"
- #this works for 'scp'
- LOCAL_PATH="/path/to/project/on/your/local/machine"
- LOCAL_NAME="local_project_directory_name"
- #this means 'svn' path/url:
- PROJECT_PATH="/path/to/svn"
- CURRENT_DATE=$(date +%Y%m%d%H%M%s)
- LINK_NAME="production"
- if [ $REMOTE_METHOD = "svn" ]; then
- ssh $REMOTE_USER@$REMOTE_HOST 'svn export '$PROJECT_PATH' '$REMOTE_PATH'/'$CURRENT_DATE
- ssh $REMOTE_USER@$REMOTE_HOST 'rm '$REMOTE_PATH'/'$LINK_NAME
- ssh $REMOTE_USER@$REMOTE_HOST 'ln -s '$REMOTE_PATH'/'$CURRENT_DATE' '$REMOTE_PATH'/'$LINK_NAME
- fi
- if [ $REMOTE_METHOD = "scp" ]; then
- rm $LOCAL_PATH.tar $LOCAL_PATH.tar.gz
- tar -cvvf $LOCAL_PATH.tar $LOCAL_PATH
- gzip $LOCAL_PATH.tar
- scp $LOCAL_PATH.tar.gz $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH/
- ssh $REMOTE_USER@$REMOTE_HOST 'rm -Rf '$REMOTE_PATH'/'$LOCAL_NAME
- ssh $REMOTE_USER@$REMOTE_HOST 'tar -xzf '$REMOTE_PATH'/'$LOCAL_NAME.tar.gz
- ssh $REMOTE_USER@$REMOTE_HOST 'rm '$REMOTE_PATH'/'$LINK_NAME
- ssh $REMOTE_USER@$REMOTE_HOST 'ln -s '$REMOTE_PATH'/'$LOCAL_NAME' '$REMOTE_PATH'/'$LINK_NAME
- fi
- вот пример; можно вынести параметры - например, задавать их через командную строку.
В моем случае ssh работает по ключу, если этого нет - будет каждый раз спрашиваться пароль. Так что желательно использовать ключ