Surge.sh Deployment
This page documents deployments using dpl v1 which is currently the legacy version. The dpl v2 is released, and we recommend useig it. Please see our blog post for details. dpl v2 documentation can be found here.
Travis CI can deploy your static files to Surge.sh after a successful build. Builds triggered from Pull Requests will never trigger a deploy.
You will need to set 2 environment variables in your travis settings and set the deployment provider details in .travis.yml
Environment variables #
- SURGE_LOGIN: Set it to the email address you use with Surge
- SURGE_TOKEN: Set it to your login token (get it by doing a
surge token
)
Configure the .travis.yml file #
-
Add
surge
as deployment provider in.travis.yml
-
If your project folder is not the repo root you can set the deploy option
project
to define a path relative to repo root to deploy. -
If you do not have a
CNAME
file with the name of the domain to publish to you can set the deploy optiondomain
with the domain to deploy to.
Example:
deploy:
provider: surge
project: ./static/
domain: example.surge.sh
Generate content #
If you are generating files for deployment you must tell the deploy
step to keep your changes:
deploy:
...
cleanup: false
It is suggested that you generate your files during the script
step or the before_deploy
step.
- When generating files during the
script
step, an error results in a failed build. - When generating files during the
before_deploy
step, an error does not result in a failed build.
Deploy from Branches #
By default, Travis CI will only deploy from your master
branch. You can specify what branch to deploy from with the deploy option on
:
deploy:
...
on:
branch: myProductionBranch
To deploy from all branches set the deploy->on option all_branches
to true
deploy:
...
on:
all_branches: true