Estou usando o Travis CI para implantação automática no meu servidor FTP. Desejo excluir a versão antiga do meu projeto quando uma nova versão for implantada.
Meu script atual é
#!/bin/bash
echo "Starting deployment... ";
if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
echo "Starting deployment to https://mywebsite.com. This could take some time";
cd dist;
find . -type f -exec curl -ss -u $FTP_USER:$FTP_PASSWORD --ftp-create-dirs -T {} ftp://myftp.com/{} \;
echo "Deployment finished!";
exit;
fi
if [ "$TRAVIS_BRANCH" == "dev" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
echo "Starting deployment to https://mywebsite.com. This could take some time";
cd dist;
find . -type f -exec curl -ss -u $FTP_USER:$FTP_PASSWORD --ftp-create-dirs -T {} ftp://myftp.com/test/{} \;
echo "Deployment finished!";
exit;
fi
echo "This branch does not have a deployment directory.";
exit;
Então, o que eu quero fazer ao implantar a ramificação mestre? Desejo excluir todos os arquivos, exceto a pasta /test/
e o arquivo .htaccess
. Como faço isso com cURL (ou qualquer outro método disponível no Travis CI). Existem várias pastas, por isso deve ser recursivo.
Tags find curl deployment