You can easily deploy to your own server the way you would deploy from your local machine by adding a custom
You may choose the Script provider instead, as it provides easier flexibility with conditional deployment.
env: global: - "FTP_USER=user" - "FTP_PASSWORD=password" after_success: "curl --ftp-create-dirs -T uploadfilename -u $FTP_USER:$FTP_PASSWORD ftp://sitename.com/directory/myfile"
The env variables
FTP_PASSWORD can also be encrypted.
See curl(1) for more details on how to use cURL as an FTP client.
This should also work with services you can deploy to via git.
after_success: - eval "$(ssh-agent -s)" #start the ssh agent - chmod 600 .travis/deploy_key.pem # this key should have push access - ssh-add .travis/deploy_key.pem - git remote add deploy DEPLOY_REPO_URI_GOES_HERE - git push deploy
See “How can I encrypt files that include sensitive data?” if you don’t want to commit the private key unencrypted to your repository.