According to travis-ci documentation
You can easily deploy to your own server the way you would deploy from
your local machine by adding a custom after_success step.
You may choose the Script provider instead, as it provides easier
flexibility with conditional deployment.
FTP
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_USER and FTP_PASSWORD can also be encrypted.
See curl(1) for more details on how to use cURL as an FTP client.
or 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.