cURL excluir pasta remota, mas ignorar alguns arquivos

0

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.

    
por Martijn Melchers 31.08.2017 / 11:07

0 respostas