Atualizado em agosto de 2014
Abaixo está um script básico para implantar arquivos em um servidor e diretório de destino. Resumindo, o rsync elimina a necessidade de copiar manualmente os arquivos modificados em um servidor. Funciona ainda melhor se você tiver sua chave instalada no servidor de destino. Você pode implantar todos os seus arquivos modificados em um único comando.
Requisito: Rsync instalado em seu servidor local e em seu servidor de destino.
Crie um arquivo “implantar” em seu diretório raiz. Certifique-se de que seja executável.
$> touch deploy
$> chmod +x deploy
Agora, cole o seguinte script
#!/bin/bash
$ERRORSTRING="Error. Please make sure you've indicated correct parameters"
if [ $# -eq 0 ]
then
echo $ERRORSTRING;
elif [ $1 == "live" ]
then
if [[ -z $2 ]]
then
echo "Running dry-run"
rsync --dry-run -az --force --delete --progress --exclude-from=rsync_exclude.txt -e "ssh -p22" ./ username@server:/var/www/website-name
elif [ $2 == "go" ]
then
echo "Running actual deploy"
rsync -az --force --delete --progress --exclude-from=rsync_exclude.txt -e "ssh -p22" ./ username@server:/var/www/website-name
else
echo $ERRORSTRING;
fi
fi
Agora, opcionalmente, crie um arquivo chamado rsync_exclude.txt ao lado do script de implantação. Coloque seus diretórios e arquivos de ignorar assim
uploads/
logs/
cache/
nbproject/
.svn
.DS_Store
Para executar o script, basta iniciar seu terminal e executar o script. Leva 2 parâmetros. Se você deseja uma simulação para ver quais arquivos devem ser enviados por push, execute o seguinte:
$> ./deploy live
Se você estiver satisfeito com o resultado da simulação, anexe go . Isso fará o push real.
$> ./deploy live go
Implantar em ação (executando uma simulação)
Implantar em ação (implantação real)
O script aceita a configuração de vários servidores, basta modificá-lo de acordo com suas necessidades. Eu recomendo usar um processo de sincronização em 2 etapas. Um como local de teste e outro para produção.
$> ./deploy dev
$> ./deploy dev go
$> ./deploy live
$> ./deploy live go
Atualizado em agosto de 2014